@bootkit/ng0 0.0.0-alpha.1 → 0.0.0-alpha.10

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 (216) hide show
  1. package/common/index.d.ts +82 -3
  2. package/components/accordion/index.d.ts +32 -0
  3. package/components/backdrop/index.d.ts +8 -0
  4. package/components/button/index.d.ts +48 -0
  5. package/components/card/index.d.ts +27 -0
  6. package/components/code/index.d.ts +35 -0
  7. package/components/collapse/index.d.ts +59 -0
  8. package/components/confirmation/index.d.ts +66 -0
  9. package/components/form-field/index.d.ts +72 -0
  10. package/components/modal/index.d.ts +29 -0
  11. package/components/nav/index.d.ts +68 -0
  12. package/{offcanvas/offcanvas.directive.d.ts → components/offcanvas/index.d.ts} +14 -5
  13. package/components/overlay/index.d.ts +40 -0
  14. package/components/pagination/index.d.ts +56 -0
  15. package/components/popover/index.d.ts +36 -0
  16. package/components/sidenav/index.d.ts +46 -0
  17. package/components/stepper/index.d.ts +26 -0
  18. package/components/table/index.d.ts +211 -0
  19. package/components/toast/index.d.ts +101 -0
  20. package/components/tooltip/index.d.ts +30 -0
  21. package/components/vertical-menu/index.d.ts +61 -0
  22. package/data/index.d.ts +203 -0
  23. package/date/index.d.ts +34 -0
  24. package/fesm2022/bootkit-ng0-common.mjs +38 -3
  25. package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
  26. package/fesm2022/{bootkit-ng0-accordion.mjs → bootkit-ng0-components-accordion.mjs} +16 -16
  27. package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -0
  28. package/fesm2022/bootkit-ng0-components-backdrop.mjs +41 -0
  29. package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -0
  30. package/fesm2022/bootkit-ng0-components-button.mjs +119 -0
  31. package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -0
  32. package/fesm2022/bootkit-ng0-components-card.mjs +62 -0
  33. package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -0
  34. package/fesm2022/bootkit-ng0-components-code.mjs +70 -0
  35. package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -0
  36. package/fesm2022/{bootkit-ng0-collapse.mjs → bootkit-ng0-components-collapse.mjs} +16 -16
  37. package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -0
  38. package/fesm2022/bootkit-ng0-components-confirmation.mjs +167 -0
  39. package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -0
  40. package/fesm2022/bootkit-ng0-components-form-field.mjs +147 -0
  41. package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -0
  42. package/fesm2022/bootkit-ng0-components-modal.mjs +68 -0
  43. package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -0
  44. package/fesm2022/bootkit-ng0-components-nav.mjs +165 -0
  45. package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -0
  46. package/fesm2022/{bootkit-ng0-offcanvas.mjs → bootkit-ng0-components-offcanvas.mjs} +11 -11
  47. package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -0
  48. package/fesm2022/bootkit-ng0-components-overlay.mjs +99 -0
  49. package/fesm2022/bootkit-ng0-components-overlay.mjs.map +1 -0
  50. package/fesm2022/bootkit-ng0-components-pagination.mjs +120 -0
  51. package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -0
  52. package/fesm2022/{bootkit-ng0-popover.mjs → bootkit-ng0-components-popover.mjs} +12 -12
  53. package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -0
  54. package/fesm2022/bootkit-ng0-components-sidenav.mjs +132 -0
  55. package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -0
  56. package/fesm2022/bootkit-ng0-components-stepper.mjs +91 -0
  57. package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -0
  58. package/fesm2022/bootkit-ng0-components-table.mjs +358 -0
  59. package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -0
  60. package/fesm2022/{bootkit-ng0-toast.mjs → bootkit-ng0-components-toast.mjs} +10 -10
  61. package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -0
  62. package/fesm2022/{bootkit-ng0-tooltip.mjs → bootkit-ng0-components-tooltip.mjs} +10 -10
  63. package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -0
  64. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +161 -0
  65. package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -0
  66. package/fesm2022/bootkit-ng0-data.mjs +267 -0
  67. package/fesm2022/bootkit-ng0-data.mjs.map +1 -0
  68. package/fesm2022/bootkit-ng0-date.mjs +50 -0
  69. package/fesm2022/bootkit-ng0-date.mjs.map +1 -0
  70. package/fesm2022/bootkit-ng0-file.mjs +50 -0
  71. package/fesm2022/bootkit-ng0-file.mjs.map +1 -0
  72. package/fesm2022/bootkit-ng0-form.mjs +420 -0
  73. package/fesm2022/bootkit-ng0-form.mjs.map +1 -0
  74. package/fesm2022/bootkit-ng0-http.mjs +277 -0
  75. package/fesm2022/bootkit-ng0-http.mjs.map +1 -0
  76. package/fesm2022/bootkit-ng0-localization-locales.mjs +82 -0
  77. package/fesm2022/bootkit-ng0-localization-locales.mjs.map +1 -0
  78. package/fesm2022/bootkit-ng0-localization.mjs +419 -0
  79. package/fesm2022/bootkit-ng0-localization.mjs.map +1 -0
  80. package/fesm2022/bootkit-ng0-platform-browser.mjs +51 -0
  81. package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -0
  82. package/fesm2022/bootkit-ng0-script.mjs +59 -0
  83. package/fesm2022/bootkit-ng0-script.mjs.map +1 -0
  84. package/fesm2022/bootkit-ng0-security.mjs +132 -0
  85. package/fesm2022/bootkit-ng0-security.mjs.map +1 -0
  86. package/file/index.d.ts +22 -0
  87. package/form/index.d.ts +91 -0
  88. package/http/index.d.ts +167 -0
  89. package/index.d.ts +3 -5
  90. package/localization/index.d.ts +265 -0
  91. package/localization/locales/index.d.ts +7 -0
  92. package/package.json +123 -61
  93. package/platform/browser/index.d.ts +22 -0
  94. package/script/index.d.ts +27 -0
  95. package/security/index.d.ts +42 -0
  96. package/accordion/accordion-item.component.d.ts +0 -13
  97. package/accordion/accordion.component.d.ts +0 -13
  98. package/accordion/accordion.module.d.ts +0 -8
  99. package/accordion/index.d.ts +0 -5
  100. package/accordion/public-api.d.ts +0 -3
  101. package/collapse/collapse.component.d.ts +0 -18
  102. package/collapse/collapse.directive.d.ts +0 -32
  103. package/collapse/collapse.module.d.ts +0 -8
  104. package/collapse/index.d.ts +0 -5
  105. package/collapse/public-api.d.ts +0 -3
  106. package/common/public-api.d.ts +0 -2
  107. package/common/types.d.ts +0 -4
  108. package/common/utils.d.ts +0 -3
  109. package/esm2022/accordion/accordion-item.component.mjs +0 -34
  110. package/esm2022/accordion/accordion.component.mjs +0 -25
  111. package/esm2022/accordion/accordion.module.mjs +0 -25
  112. package/esm2022/accordion/bootkit-ng0-accordion.mjs +0 -5
  113. package/esm2022/accordion/public-api.mjs +0 -4
  114. package/esm2022/bootkit-ng0.mjs +0 -5
  115. package/esm2022/collapse/bootkit-ng0-collapse.mjs +0 -5
  116. package/esm2022/collapse/collapse.component.mjs +0 -46
  117. package/esm2022/collapse/collapse.directive.mjs +0 -94
  118. package/esm2022/collapse/collapse.module.mjs +0 -23
  119. package/esm2022/collapse/public-api.mjs +0 -4
  120. package/esm2022/common/bootkit-ng0-common.mjs +0 -5
  121. package/esm2022/common/public-api.mjs +0 -3
  122. package/esm2022/common/types.mjs +0 -3
  123. package/esm2022/common/utils.mjs +0 -16
  124. package/esm2022/lib/index.mjs +0 -3
  125. package/esm2022/lib/types.mjs +0 -2
  126. package/esm2022/modal/bootkit-ng0-modal.mjs +0 -5
  127. package/esm2022/modal/modal.component.mjs +0 -44
  128. package/esm2022/modal/modal.module.mjs +0 -20
  129. package/esm2022/modal/public-api.mjs +0 -3
  130. package/esm2022/modal/types.mjs +0 -3
  131. package/esm2022/nav/bootkit-ng0-nav.mjs +0 -5
  132. package/esm2022/nav/nav-item.directive.mjs +0 -26
  133. package/esm2022/nav/nav-link.directive.mjs +0 -45
  134. package/esm2022/nav/nav.directive.mjs +0 -23
  135. package/esm2022/nav/nav.module.mjs +0 -35
  136. package/esm2022/nav/public-api.mjs +0 -7
  137. package/esm2022/nav/tab-content.component.mjs +0 -29
  138. package/esm2022/nav/tab-pane.directive.mjs +0 -20
  139. package/esm2022/offcanvas/bootkit-ng0-offcanvas.mjs +0 -5
  140. package/esm2022/offcanvas/offcanvas.directive.mjs +0 -118
  141. package/esm2022/offcanvas/offcanvas.module.mjs +0 -19
  142. package/esm2022/offcanvas/public-api.mjs +0 -3
  143. package/esm2022/overlay/bootkit-ng0-overlay.mjs +0 -5
  144. package/esm2022/overlay/overlay.directive.mjs +0 -111
  145. package/esm2022/overlay/overlay.module.mjs +0 -22
  146. package/esm2022/overlay/private/utils.mjs +0 -58
  147. package/esm2022/overlay/public-api.mjs +0 -3
  148. package/esm2022/popover/bootkit-ng0-popover.mjs +0 -5
  149. package/esm2022/popover/popover-wrapper/popover-wrapper.component.mjs +0 -29
  150. package/esm2022/popover/popover.directive.mjs +0 -140
  151. package/esm2022/popover/public-api.mjs +0 -2
  152. package/esm2022/popover/types.mjs +0 -2
  153. package/esm2022/public-api.mjs +0 -5
  154. package/esm2022/toast/bootkit-ng0-toast.mjs +0 -5
  155. package/esm2022/toast/public-api.mjs +0 -4
  156. package/esm2022/toast/toast-ref.mjs +0 -27
  157. package/esm2022/toast/toast.component.mjs +0 -68
  158. package/esm2022/toast/toast.service.mjs +0 -93
  159. package/esm2022/toast/types.mjs +0 -2
  160. package/esm2022/tooltip/bootkit-ng0-tooltip.mjs +0 -5
  161. package/esm2022/tooltip/public-api.mjs +0 -3
  162. package/esm2022/tooltip/tooltip-wrapper/tooltip-wrapper.component.mjs +0 -44
  163. package/esm2022/tooltip/tooltip.directive.mjs +0 -93
  164. package/esm2022/tooltip/types.mjs +0 -2
  165. package/fesm2022/bootkit-ng0-accordion.mjs.map +0 -1
  166. package/fesm2022/bootkit-ng0-collapse.mjs.map +0 -1
  167. package/fesm2022/bootkit-ng0-modal.mjs +0 -68
  168. package/fesm2022/bootkit-ng0-modal.mjs.map +0 -1
  169. package/fesm2022/bootkit-ng0-nav.mjs +0 -166
  170. package/fesm2022/bootkit-ng0-nav.mjs.map +0 -1
  171. package/fesm2022/bootkit-ng0-offcanvas.mjs.map +0 -1
  172. package/fesm2022/bootkit-ng0-overlay.mjs +0 -194
  173. package/fesm2022/bootkit-ng0-overlay.mjs.map +0 -1
  174. package/fesm2022/bootkit-ng0-popover.mjs.map +0 -1
  175. package/fesm2022/bootkit-ng0-toast.mjs.map +0 -1
  176. package/fesm2022/bootkit-ng0-tooltip.mjs.map +0 -1
  177. package/lib/index.d.ts +0 -2
  178. package/lib/types.d.ts +0 -1
  179. package/modal/index.d.ts +0 -5
  180. package/modal/modal.component.d.ts +0 -18
  181. package/modal/modal.module.d.ts +0 -7
  182. package/modal/public-api.d.ts +0 -2
  183. package/modal/types.d.ts +0 -2
  184. package/nav/index.d.ts +0 -5
  185. package/nav/nav-item.directive.d.ts +0 -13
  186. package/nav/nav-link.directive.d.ts +0 -16
  187. package/nav/nav.directive.d.ts +0 -11
  188. package/nav/nav.module.d.ts +0 -11
  189. package/nav/public-api.d.ts +0 -6
  190. package/nav/tab-content.component.d.ts +0 -15
  191. package/nav/tab-pane.directive.d.ts +0 -9
  192. package/offcanvas/index.d.ts +0 -5
  193. package/offcanvas/offcanvas.module.d.ts +0 -7
  194. package/offcanvas/public-api.d.ts +0 -2
  195. package/overlay/index.d.ts +0 -5
  196. package/overlay/overlay.directive.d.ts +0 -50
  197. package/overlay/overlay.module.d.ts +0 -10
  198. package/overlay/private/utils.d.ts +0 -10
  199. package/overlay/public-api.d.ts +0 -2
  200. package/popover/index.d.ts +0 -5
  201. package/popover/popover-wrapper/popover-wrapper.component.d.ts +0 -15
  202. package/popover/popover.directive.d.ts +0 -30
  203. package/popover/public-api.d.ts +0 -1
  204. package/popover/types.d.ts +0 -4
  205. package/public-api.d.ts +0 -1
  206. package/toast/index.d.ts +0 -5
  207. package/toast/public-api.d.ts +0 -3
  208. package/toast/toast-ref.d.ts +0 -12
  209. package/toast/toast.component.d.ts +0 -19
  210. package/toast/toast.service.d.ts +0 -43
  211. package/toast/types.d.ts +0 -44
  212. package/tooltip/index.d.ts +0 -5
  213. package/tooltip/public-api.d.ts +0 -2
  214. package/tooltip/tooltip-wrapper/tooltip-wrapper.component.d.ts +0 -19
  215. package/tooltip/tooltip.directive.d.ts +0 -24
  216. package/tooltip/types.d.ts +0 -3
@@ -0,0 +1,99 @@
1
+ import { flipPlacement } from '@bootkit/ng0/common';
2
+
3
+ /**
4
+ * Get the overlay position based on the provided placement and alignment.
5
+ *
6
+ * @param placement - The placement of the overlay (e.g., 'bottom', 'top', 'start', 'end').
7
+ * @param alignment - The alignment of the overlay (e.g., 'start', 'center', 'end').
8
+ * @returns The connected position for the overlay.
9
+ */
10
+ function getConnectedPosition(placement, alignment) {
11
+ let pos = {};
12
+ switch (placement) {
13
+ case 'bottom':
14
+ pos.originY = 'bottom';
15
+ pos.overlayY = 'top';
16
+ pos.originX = alignment;
17
+ pos.overlayX = alignment;
18
+ break;
19
+ case 'top':
20
+ pos.originY = 'top';
21
+ pos.overlayY = 'bottom';
22
+ pos.originX = alignment;
23
+ pos.overlayX = alignment;
24
+ break;
25
+ case 'start':
26
+ pos.originX = 'start';
27
+ pos.overlayX = 'end';
28
+ if (alignment == 'start') {
29
+ pos.originY = 'top';
30
+ pos.overlayY = 'top';
31
+ }
32
+ else if (alignment == 'center') {
33
+ pos.originY = 'center';
34
+ pos.overlayY = 'center';
35
+ }
36
+ else {
37
+ pos.originY = 'bottom';
38
+ pos.overlayY = 'bottom';
39
+ }
40
+ break;
41
+ case 'end':
42
+ pos.originX = 'end';
43
+ pos.overlayX = 'start';
44
+ if (alignment == 'start') {
45
+ pos.originY = 'top';
46
+ pos.overlayY = 'top';
47
+ }
48
+ else if (alignment == 'center') {
49
+ pos.originY = 'center';
50
+ pos.overlayY = 'center';
51
+ }
52
+ else {
53
+ pos.originY = 'bottom';
54
+ pos.overlayY = 'bottom';
55
+ }
56
+ break;
57
+ }
58
+ return pos;
59
+ }
60
+ function getConnectedPositions(placement, alignment, includeFlippedPlacement = true) {
61
+ return [
62
+ getConnectedPosition(placement, alignment),
63
+ ...(includeFlippedPlacement ? [getConnectedPosition(flipPlacement(placement), alignment)] : []),
64
+ ];
65
+ }
66
+
67
+ // Positions
68
+ const START_START_POS = getConnectedPosition('start', 'start');
69
+ const START_CENTER_POS = getConnectedPosition('start', 'center');
70
+ const START_END_POS = getConnectedPosition('start', 'end');
71
+ const END_START_POS = getConnectedPosition('end', 'start');
72
+ const END_CENTER_POS = getConnectedPosition('end', 'center');
73
+ const END_END_POS = getConnectedPosition('end', 'end');
74
+ const TOP_START_POS = getConnectedPosition('top', 'start');
75
+ const TOP_END_POS = getConnectedPosition('top', 'end');
76
+ const TOP_CENTER_POS = getConnectedPosition('top', 'center');
77
+ const BOTTOM_START_POS = getConnectedPosition('bottom', 'start');
78
+ const BOTTOM_CENTER_POS = getConnectedPosition('bottom', 'center');
79
+ const BOTTOM_END_POS = getConnectedPosition('bottom', 'end');
80
+ // Flipped positions
81
+ const START_START_FLIPPED_POS = getConnectedPositions('start', 'start');
82
+ const START_CENTER_FLIPPED_POS = getConnectedPositions('start', 'center');
83
+ const START_END_FLIPPED_POS = getConnectedPositions('start', 'end');
84
+ const END_START_FLIPPED_POS = getConnectedPositions('end', 'start');
85
+ const END_CENTER_FLIPPED_POS = getConnectedPositions('end', 'center');
86
+ const END_END_FLIPPED_POS = getConnectedPositions('end', 'end');
87
+ const TOP_START_FLIPPED_POS = getConnectedPositions('top', 'start');
88
+ const TOP_END_FLIPPED_POS = getConnectedPositions('top', 'end');
89
+ const TOP_CENTER_FLIPPED_POS = getConnectedPositions('top', 'center');
90
+ const BOTTOM_START_FLIPPED_POS = getConnectedPositions('bottom', 'start');
91
+ const BOTTOM_CENTER_FLIPPED_POS = getConnectedPositions('bottom', 'center');
92
+ const BOTTOM_END_FLIPPED_POS = getConnectedPositions('bottom', 'end');
93
+
94
+ /**
95
+ * Generated bundle index. Do not edit.
96
+ */
97
+
98
+ export { BOTTOM_CENTER_FLIPPED_POS, BOTTOM_CENTER_POS, BOTTOM_END_FLIPPED_POS, BOTTOM_END_POS, BOTTOM_START_FLIPPED_POS, BOTTOM_START_POS, END_CENTER_FLIPPED_POS, END_CENTER_POS, END_END_FLIPPED_POS, END_END_POS, END_START_FLIPPED_POS, END_START_POS, START_CENTER_FLIPPED_POS, START_CENTER_POS, START_END_FLIPPED_POS, START_END_POS, START_START_FLIPPED_POS, START_START_POS, TOP_CENTER_FLIPPED_POS, TOP_CENTER_POS, TOP_END_FLIPPED_POS, TOP_END_POS, TOP_START_FLIPPED_POS, TOP_START_POS, getConnectedPosition, getConnectedPositions };
99
+ //# sourceMappingURL=bootkit-ng0-components-overlay.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-overlay.mjs","sources":["../../../projects/ng0/components/overlay/utils.ts","../../../projects/ng0/components/overlay/positions.ts","../../../projects/ng0/components/overlay/bootkit-ng0-components-overlay.ts"],"sourcesContent":["import { ConnectedPosition } from \"@angular/cdk/overlay\";\r\nimport { Alignment, flipPlacement, Placement } from \"@bootkit/ng0/common\";\r\n\r\n/**\r\n * Get the overlay position based on the provided placement and alignment.\r\n * \r\n * @param placement - The placement of the overlay (e.g., 'bottom', 'top', 'start', 'end').\r\n * @param alignment - The alignment of the overlay (e.g., 'start', 'center', 'end').\r\n * @returns The connected position for the overlay.\r\n */\r\nexport function getConnectedPosition(placement: Placement, alignment: Alignment): ConnectedPosition {\r\n let pos = {} as ConnectedPosition;\r\n\r\n switch (placement) {\r\n case 'bottom':\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'top';\r\n pos.originX = alignment;\r\n pos.overlayX = alignment;\r\n break;\r\n case 'top':\r\n pos.originY = 'top';\r\n pos.overlayY = 'bottom';\r\n pos.originX = alignment;\r\n pos.overlayX = alignment;\r\n break;\r\n case 'start':\r\n pos.originX = 'start';\r\n pos.overlayX = 'end';\r\n\r\n if (alignment == 'start') {\r\n pos.originY = 'top';\r\n pos.overlayY = 'top';\r\n } else if (alignment == 'center') {\r\n pos.originY = 'center';\r\n pos.overlayY = 'center';\r\n } else {\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'bottom';\r\n }\r\n break;\r\n case 'end':\r\n pos.originX = 'end';\r\n pos.overlayX = 'start';\r\n\r\n if (alignment == 'start') {\r\n pos.originY = 'top';\r\n pos.overlayY = 'top';\r\n } else if (alignment == 'center') {\r\n pos.originY = 'center';\r\n pos.overlayY = 'center';\r\n } else {\r\n pos.originY = 'bottom';\r\n pos.overlayY = 'bottom';\r\n }\r\n break;\r\n }\r\n\r\n return pos;\r\n}\r\n\r\nexport function getConnectedPositions(placement: Placement, alignment: Alignment, includeFlippedPlacement = true): ConnectedPosition[] {\r\n return [\r\n getConnectedPosition(placement, alignment),\r\n ...(includeFlippedPlacement ? [getConnectedPosition(flipPlacement(placement), alignment)] : []),\r\n ] ;\r\n}\r\n","import { getConnectedPosition, getConnectedPositions } from \"./utils\";\r\n\r\n// Positions\r\nexport const START_START_POS = getConnectedPosition('start', 'start');\r\nexport const START_CENTER_POS = getConnectedPosition('start', 'center');\r\nexport const START_END_POS = getConnectedPosition('start', 'end');\r\n\r\nexport const END_START_POS = getConnectedPosition('end', 'start');\r\nexport const END_CENTER_POS = getConnectedPosition('end', 'center');\r\nexport const END_END_POS = getConnectedPosition('end', 'end');\r\n\r\nexport const TOP_START_POS = getConnectedPosition('top', 'start');\r\nexport const TOP_END_POS = getConnectedPosition('top', 'end');\r\nexport const TOP_CENTER_POS = getConnectedPosition('top', 'center');\r\n\r\nexport const BOTTOM_START_POS = getConnectedPosition('bottom', 'start');\r\nexport const BOTTOM_CENTER_POS = getConnectedPosition('bottom', 'center');\r\nexport const BOTTOM_END_POS = getConnectedPosition('bottom', 'end');\r\n\r\n\r\n// Flipped positions\r\nexport const START_START_FLIPPED_POS = getConnectedPositions('start', 'start');\r\nexport const START_CENTER_FLIPPED_POS = getConnectedPositions('start', 'center');\r\nexport const START_END_FLIPPED_POS = getConnectedPositions('start', 'end');\r\n\r\nexport const END_START_FLIPPED_POS = getConnectedPositions('end', 'start');\r\nexport const END_CENTER_FLIPPED_POS = getConnectedPositions('end', 'center');\r\nexport const END_END_FLIPPED_POS = getConnectedPositions('end', 'end');\r\n\r\nexport const TOP_START_FLIPPED_POS = getConnectedPositions('top', 'start');\r\nexport const TOP_END_FLIPPED_POS = getConnectedPositions('top', 'end');\r\nexport const TOP_CENTER_FLIPPED_POS = getConnectedPositions('top', 'center');\r\n\r\nexport const BOTTOM_START_FLIPPED_POS = getConnectedPositions('bottom', 'start');\r\nexport const BOTTOM_CENTER_FLIPPED_POS = getConnectedPositions('bottom', 'center');\r\nexport const BOTTOM_END_FLIPPED_POS = getConnectedPositions('bottom', 'end');","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { input, EventEmitter, computed, Output, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
+ import { TranslatePipe } from '@bootkit/ng0/localization';
5
+
6
+ class PaginationComponent {
7
+ /**
8
+ * Total number of records.
9
+ */
10
+ totalRecords = input.required(...(ngDevMode ? [{ debugName: "totalRecords" }] : []));
11
+ /**
12
+ * Page size. Number of items in each page.
13
+ */
14
+ pageSize = input(10, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
15
+ /**
16
+ * Selected page Index. starts from 1.
17
+ */
18
+ selectedPage = input(1, ...(ngDevMode ? [{ debugName: "selectedPage" }] : []));
19
+ /**
20
+ * Maximum number of visible pages.
21
+ * Default is 10.
22
+ */
23
+ maxVisiblePages = input(10, ...(ngDevMode ? [{ debugName: "maxVisiblePages" }] : []));
24
+ /**
25
+ * Show first and last buttons.
26
+ * Default is true.
27
+ */
28
+ showNextPreviousButtons = input(true, ...(ngDevMode ? [{ debugName: "showNextPreviousButtons" }] : []));
29
+ /**
30
+ * Show first and last buttons.
31
+ * Default is true.
32
+ */
33
+ showFirstLastButtons = input(true, ...(ngDevMode ? [{ debugName: "showFirstLastButtons" }] : []));
34
+ /**
35
+ * Total number of pages.
36
+ * This is a computed property based on totalRecords and pageSize.
37
+ * It is not an input property.
38
+ */
39
+ get totalPagesCount() { return this._totalPagesCount; }
40
+ /**
41
+ * Emits the selected page index when a page is clicked.
42
+ * The index starts from 1.
43
+ */
44
+ itemClick = new EventEmitter();
45
+ _totalPagesCount;
46
+ _visiblePages = computed(() => {
47
+ let selectedPage = this.selectedPage() || 0;
48
+ let totalRecords = this.totalRecords();
49
+ let pageSize = this.pageSize();
50
+ if (!Number.isInteger(totalRecords) || totalRecords < 0) {
51
+ throw new Error('Total items must be a posotive integer.');
52
+ }
53
+ if (!Number.isInteger(pageSize) || pageSize <= 0) {
54
+ throw new Error('Page size must be a posotive integer.');
55
+ }
56
+ this._totalPagesCount = Math.ceil(totalRecords / pageSize);
57
+ if (selectedPage < 0 || selectedPage > this._totalPagesCount) {
58
+ throw new Error(`Selected page must be between 0 and ${this._totalPagesCount}.`);
59
+ }
60
+ let indices = [];
61
+ let firstVisiblePage = selectedPage;
62
+ let lastVisiblePage = firstVisiblePage;
63
+ let maxVisiblePages = this.maxVisiblePages();
64
+ indices.push(firstVisiblePage);
65
+ for (let i = 1; i <= maxVisiblePages; i++) {
66
+ if (lastVisiblePage < this._totalPagesCount) {
67
+ lastVisiblePage++;
68
+ indices.push(lastVisiblePage);
69
+ }
70
+ if (indices.length >= maxVisiblePages) {
71
+ break;
72
+ }
73
+ if (firstVisiblePage > 1) {
74
+ firstVisiblePage--;
75
+ indices.unshift(firstVisiblePage);
76
+ }
77
+ }
78
+ return indices;
79
+ }, ...(ngDevMode ? [{ debugName: "_visiblePages" }] : []));
80
+ _onPageChange(pageIndex) {
81
+ debugger;
82
+ console.log('click');
83
+ this.itemClick.emit(pageIndex);
84
+ }
85
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: PaginationComponent, isStandalone: true, selector: "ng0-pagination", inputs: { totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: true, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, selectedPage: { classPropertyName: "selectedPage", publicName: "selectedPage", isSignal: true, isRequired: false, transformFunction: null }, maxVisiblePages: { classPropertyName: "maxVisiblePages", publicName: "maxVisiblePages", isSignal: true, isRequired: false, transformFunction: null }, showNextPreviousButtons: { classPropertyName: "showNextPreviousButtons", publicName: "showNextPreviousButtons", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastButtons: { classPropertyName: "showFirstLastButtons", publicName: "showFirstLastButtons", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemClick: "itemClick" }, exportAs: ["ng0Pagination"], ngImport: i0, template: "@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n {{'first' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! - 1)\">\r\n <ng-content select=\"previous\">\r\n {{'previous' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! + 1)\">\r\n <ng-content select=\"next\">\r\n {{'next' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n {{'last' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n\r\n<style>\r\n .pagination {\r\n margin: 0;\r\n }\r\n</style>", styles: [".pagination{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: TranslatePipe, name: "ng0Translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
+ }
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PaginationComponent, decorators: [{
89
+ type: Component,
90
+ args: [{ selector: 'ng0-pagination', exportAs: 'ng0Pagination', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
91
+ CommonModule,
92
+ TranslatePipe
93
+ ], template: "@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n {{'first' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! - 1)\">\r\n <ng-content select=\"previous\">\r\n {{'previous' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! + 1)\">\r\n <ng-content select=\"next\">\r\n {{'next' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n {{'last' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n\r\n<style>\r\n .pagination {\r\n margin: 0;\r\n }\r\n</style>" }]
94
+ }], propDecorators: { itemClick: [{
95
+ type: Output
96
+ }] } });
97
+
98
+ class PaginationModule {
99
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
100
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: PaginationModule, imports: [PaginationComponent], exports: [PaginationComponent] });
101
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PaginationModule, imports: [PaginationComponent] });
102
+ }
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PaginationModule, decorators: [{
104
+ type: NgModule,
105
+ args: [{
106
+ imports: [
107
+ PaginationComponent
108
+ ],
109
+ exports: [
110
+ PaginationComponent
111
+ ]
112
+ }]
113
+ }] });
114
+
115
+ /**
116
+ * Generated bundle index. Do not edit.
117
+ */
118
+
119
+ export { PaginationComponent, PaginationModule };
120
+ //# sourceMappingURL=bootkit-ng0-components-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-pagination.mjs","sources":["../../../projects/ng0/components/pagination/pagination.component.ts","../../../projects/ng0/components/pagination/pagination.component.html","../../../projects/ng0/components/pagination/pagination.module.ts","../../../projects/ng0/components/pagination/bootkit-ng0-components-pagination.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\r\nimport { Component, ChangeDetectionStrategy, input, computed, Output, EventEmitter } from '@angular/core';\r\nimport { TranslatePipe } from '@bootkit/ng0/localization';\r\n\r\n@Component({\r\n selector: 'ng0-pagination',\r\n exportAs: 'ng0Pagination',\r\n templateUrl: './pagination.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n TranslatePipe\r\n ]\r\n})\r\nexport class PaginationComponent {\r\n /**\r\n * Total number of records.\r\n */\r\n public totalRecords = input.required<number>();\r\n\r\n /**\r\n * Page size. Number of items in each page.\r\n */\r\n public pageSize = input<number>(10);\r\n\r\n /** \r\n * Selected page Index. starts from 1.\r\n */\r\n public selectedPage = input<number | undefined>(1);\r\n\r\n /**\r\n * Maximum number of visible pages.\r\n * Default is 10.\r\n */\r\n public maxVisiblePages = input<number>(10);\r\n\r\n /**\r\n * Show first and last buttons.\r\n * Default is true.\r\n */\r\n public showNextPreviousButtons = input<boolean | undefined>(true);\r\n\r\n /**\r\n * Show first and last buttons.\r\n * Default is true.\r\n */\r\n public showFirstLastButtons = input<boolean | undefined>(true);\r\n\r\n /**\r\n * Total number of pages.\r\n * This is a computed property based on totalRecords and pageSize.\r\n * It is not an input property.\r\n */\r\n public get totalPagesCount() { return this._totalPagesCount; }\r\n\r\n /**\r\n * Emits the selected page index when a page is clicked.\r\n * The index starts from 1.\r\n */\r\n @Output() public itemClick = new EventEmitter<number>();\r\n\r\n protected _totalPagesCount!: number;\r\n\r\n protected _visiblePages = computed(() => {\r\n let selectedPage = this.selectedPage() || 0;\r\n let totalRecords = this.totalRecords();\r\n let pageSize = this.pageSize();\r\n\r\n if (!Number.isInteger(totalRecords) || totalRecords < 0) {\r\n throw new Error('Total items must be a posotive integer.');\r\n }\r\n\r\n if (!Number.isInteger(pageSize) || pageSize <= 0) {\r\n throw new Error('Page size must be a posotive integer.');\r\n }\r\n\r\n this._totalPagesCount = Math.ceil(totalRecords / pageSize);\r\n\r\n if (selectedPage < 0 || selectedPage > this._totalPagesCount) {\r\n throw new Error(`Selected page must be between 0 and ${this._totalPagesCount}.`);\r\n }\r\n\r\n let indices = [];\r\n let firstVisiblePage = selectedPage;\r\n let lastVisiblePage = firstVisiblePage;\r\n let maxVisiblePages = this.maxVisiblePages();\r\n indices.push(firstVisiblePage);\r\n\r\n for (let i = 1; i <= maxVisiblePages; i++) {\r\n if (lastVisiblePage < this._totalPagesCount) {\r\n lastVisiblePage++;\r\n indices.push(lastVisiblePage);\r\n }\r\n\r\n if (indices.length >= maxVisiblePages) {\r\n break;\r\n }\r\n\r\n if (firstVisiblePage > 1) {\r\n firstVisiblePage--;\r\n indices.unshift(firstVisiblePage);\r\n }\r\n }\r\n\r\n return indices;\r\n });\r\n\r\n public _onPageChange(pageIndex: number) {\r\n debugger\r\n console.log('click')\r\n this.itemClick.emit(pageIndex);\r\n }\r\n\r\n}\r\n","@let _selectedPage = selectedPage();\r\n\r\n<nav>\r\n <ul class=\"pagination\">\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(1)\">\r\n <ng-content select=\"first\">\r\n {{'first' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage <= 1\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! - 1)\">\r\n <ng-content select=\"previous\">\r\n {{'previous' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @for (page of _visiblePages(); track page) {\r\n <li class=\"page-item\" [class.active]=\"_selectedPage === page\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(page)\">\r\n {{page}}\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showNextPreviousButtons() || showNextPreviousButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_selectedPage! + 1)\">\r\n <ng-content select=\"next\">\r\n {{'next' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n\r\n @if(showFirstLastButtons() || showFirstLastButtons() == undefined) {\r\n <li class=\"page-item\" [class.disabled]=\"_selectedPage == undefined || _selectedPage >= _totalPagesCount\">\r\n <button class=\"page-link\" (click)=\"itemClick.emit(_totalPagesCount)\">\r\n <ng-content select=\"last\">\r\n {{'last' | ng0Translate}}\r\n </ng-content>\r\n </button>\r\n </li>\r\n }\r\n </ul>\r\n</nav>\r\n\r\n<style>\r\n .pagination {\r\n margin: 0;\r\n }\r\n</style>","import { NgModule } from '@angular/core';\r\nimport { PaginationComponent } from './pagination.component';\r\n\r\n@NgModule({\r\n imports: [\r\n PaginationComponent\r\n ],\r\n exports: [\r\n PaginationComponent\r\n ]\r\n})\r\nexport class PaginationModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, Component, ChangeDetectionStrategy, input, Directive, HostListener } from '@angular/core';
2
+ import { TemplateRef, ChangeDetectionStrategy, Component, input, HostListener, Directive } from '@angular/core';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i1 from '@angular/common';
5
5
  import { CommonModule } from '@angular/common';
@@ -22,10 +22,10 @@ class PopoverWrapperComponent {
22
22
  this._renderer.setAttribute(e, 'role', 'tooltip');
23
23
  ['popover', 'fade', 'show', 'bs-popover-' + this.placement].forEach(c => this._renderer.addClass(e, c));
24
24
  }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: PopoverWrapperComponent, isStandalone: true, selector: "jss-popover-wrapper", exportAs: ["jssPopoverWrapper"], ngImport: i0, template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PopoverWrapperComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
26
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: PopoverWrapperComponent, isStandalone: true, selector: "jss-popover-wrapper", exportAs: ["jssPopoverWrapper"], ngImport: i0, template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverWrapperComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PopoverWrapperComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'jss-popover-wrapper', exportAs: 'jssPopoverWrapper', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule], template: "<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>", styles: [":host{position:relative;margin:var(--bs-popover-arrow-height)}:host .popover-arrow{position:absolute}:host.bs-popover-top .popover-arrow{bottom:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-bottom .popover-arrow{top:calc(-1 * var(--bs-popover-arrow-height));left:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-start .popover-arrow{right:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}:host.bs-popover-end .popover-arrow{left:calc(-1 * var(--bs-popover-arrow-height));top:calc(50% - var(--bs-popover-arrow-width) / 2)}[dir=rtl] :host.bs-popover-start .popover-arrow{right:unset!important;left:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}[dir=rtl] :host.bs-popover-end .popover-arrow{left:unset!important;right:calc(-1 * var(--bs-popover-arrow-height));transform:rotate(180deg)}\n"] }]
31
31
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
@@ -34,10 +34,10 @@ class PopoverDirective {
34
34
  _overlayService;
35
35
  _elementRef;
36
36
  _viewRef;
37
- header = input();
38
- content = input(undefined, { alias: 'ng0Popover' });
39
- placement = input('bottom');
40
- triggerBy = input('click');
37
+ header = input(...(ngDevMode ? [undefined, { debugName: "header" }] : []));
38
+ content = input(undefined, ...(ngDevMode ? [{ debugName: "content", alias: 'ng0Popover' }] : [{ alias: 'ng0Popover' }]));
39
+ placement = input('bottom', ...(ngDevMode ? [{ debugName: "placement" }] : []));
40
+ triggerBy = input('click', ...(ngDevMode ? [{ debugName: "triggerBy" }] : []));
41
41
  _portal;
42
42
  _overlayRef;
43
43
  constructor(_overlayService, _elementRef, _viewRef) {
@@ -135,10 +135,10 @@ class PopoverDirective {
135
135
  ngOnDestroy() {
136
136
  this._disposeOverlay();
137
137
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
139
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: PopoverDirective, isStandalone: true, selector: "[ng0Popover]", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "ng0Popover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggerBy: { classPropertyName: "triggerBy", publicName: "triggerBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick()", "dblclick": "_onDblclick()", "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()", "focus": "_onFocus()", "focusout": "_onFocusout()" } }, exportAs: ["ng0Popover"], ngImport: i0 });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
139
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.6", type: PopoverDirective, isStandalone: true, selector: "[ng0Popover]", inputs: { header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "ng0Popover", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, triggerBy: { classPropertyName: "triggerBy", publicName: "triggerBy", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "_onClick()", "dblclick": "_onDblclick()", "mouseenter": "_onMouseEnter()", "mouseleave": "_onMouseLeave()", "focus": "_onFocus()", "focusout": "_onFocusout()" } }, exportAs: ["ng0Popover"], ngImport: i0 });
140
140
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PopoverDirective, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: PopoverDirective, decorators: [{
142
142
  type: Directive,
143
143
  args: [{
144
144
  selector: '[ng0Popover]',
@@ -170,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
170
170
  */
171
171
 
172
172
  export { PopoverDirective };
173
- //# sourceMappingURL=bootkit-ng0-popover.mjs.map
173
+ //# sourceMappingURL=bootkit-ng0-components-popover.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-popover.mjs","sources":["../../../projects/ng0/components/popover/popover-wrapper/popover-wrapper.component.ts","../../../projects/ng0/components/popover/popover-wrapper/popover-wrapper.component.html","../../../projects/ng0/components/popover/popover.directive.ts","../../../projects/ng0/components/popover/bootkit-ng0-components-popover.ts"],"sourcesContent":["import { Component, ElementRef, Renderer2, ChangeDetectionStrategy, OnInit, TemplateRef } from '@angular/core';\r\nimport { PopoverContent, PopoverPlacement } from '../types';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'jss-popover-wrapper',\r\n exportAs: 'jssPopoverWrapper',\r\n styleUrls: ['./popover-wrapper.component.scss'],\r\n templateUrl: './popover-wrapper.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule]\r\n})\r\nexport class PopoverWrapperComponent implements OnInit {\r\n placement!: PopoverPlacement;\r\n header?: string;\r\n content: PopoverContent;\r\n protected _hasTemplate!: boolean;\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2,) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._hasTemplate = this.content instanceof TemplateRef;\r\n const e = this._elementRef.nativeElement;\r\n this._renderer.setAttribute(e, 'role', 'tooltip');\r\n ['popover', 'fade', 'show', 'bs-popover-' + this.placement].forEach(c => this._renderer.addClass(e, c));\r\n }\r\n}\r\n","<div class=\"popover-arrow\"></div>\r\n<h3 class=\"popover-header\" *ngIf=\"header\">{{header}}</h3>\r\n<div class=\"popover-body\">\r\n @if(_hasTemplate) {\r\n <ng-container [ngTemplateOutlet]=\"$any(content)\"></ng-container>\r\n }@else{\r\n {{content}}\r\n }\r\n</div>","import {\r\n Directive, TemplateRef, ViewContainerRef, OnDestroy, ElementRef, HostListener, OnInit,\r\n input\r\n} from '@angular/core';\r\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\r\nimport { ComponentPortal } from '@angular/cdk/portal';\r\nimport { PopoverWrapperComponent } from './popover-wrapper/popover-wrapper.component';\r\nimport { PopoverContent, PopoverPlacement, PopoverTrigger } from './types';\r\n\r\n@Directive({\r\n selector: '[ng0Popover]',\r\n exportAs: 'ng0Popover',\r\n standalone: true\r\n})\r\nexport class PopoverDirective implements OnInit, OnDestroy {\r\n public header = input<string>();\r\n public content = input<PopoverContent>(undefined, { alias: 'ng0Popover' });\r\n public placement = input<PopoverPlacement>('bottom');\r\n public triggerBy = input<PopoverTrigger>('click');\r\n\r\n private _portal!: ComponentPortal<PopoverWrapperComponent>;\r\n private _overlayRef?: OverlayRef;\r\n\r\n constructor(\r\n private _overlayService: Overlay,\r\n private _elementRef: ElementRef,\r\n private _viewRef: ViewContainerRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this._portal = new ComponentPortal(PopoverWrapperComponent, this._viewRef);\r\n }\r\n\r\n private _createOverlay(): void {\r\n let wrapperInstance: PopoverWrapperComponent;\r\n\r\n const scrollStrategy = this._overlayService.scrollStrategies.reposition();\r\n const positionStrategy = this._overlayService.position()\r\n .flexibleConnectedTo(this._elementRef)\r\n .withPositions(this._getPositions());\r\n\r\n positionStrategy.positionChanges.subscribe(p => {\r\n // wrapperInstance.placement = (p.connectionPair as any).key;\r\n });\r\n\r\n this._overlayRef = this._overlayService.create({ scrollStrategy, positionStrategy });\r\n\r\n wrapperInstance = this._overlayRef.attach(this._portal).instance;\r\n wrapperInstance.header = this.header();\r\n wrapperInstance.content = this.content();\r\n wrapperInstance.placement = this.placement();\r\n }\r\n\r\n private _disposeOverlay(): void {\r\n if (this._overlayRef) {\r\n this._overlayRef.dispose();\r\n this._overlayRef = undefined;\r\n }\r\n }\r\n\r\n private _toggleOverlay() {\r\n if (this._overlayRef) {\r\n this._disposeOverlay();\r\n } else {\r\n this._createOverlay();\r\n }\r\n }\r\n\r\n private _getPositions(): any[] {\r\n const c = 'center', t = 'top', b = 'bottom', s = 'start', e = 'end';\r\n const top = { key: t, originX: c, originY: t, overlayX: c, overlayY: b, };\r\n const bottom = { key: b, originX: c, originY: b, overlayX: c, overlayY: t, };\r\n const start = { key: s, originX: s, originY: c, overlayX: e, overlayY: c, };\r\n const end = { key: e, originX: e, originY: c, overlayX: s, overlayY: c, };\r\n\r\n let positions: Array<any>;\r\n\r\n switch (this.placement()) {\r\n case 'bottom':\r\n positions = [bottom, top];\r\n break;\r\n case 'start':\r\n positions = [start, start];\r\n break;\r\n case 'end':\r\n positions = [end, start];\r\n break;\r\n case 'top':\r\n positions = [top, bottom];\r\n break;\r\n default:\r\n positions = [bottom, top];\r\n }\r\n\r\n return positions;\r\n }\r\n\r\n @HostListener('click') private _onClick(): void {\r\n if (this.triggerBy() === 'click') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('dblclick') private _onDblclick(): void {\r\n if (this.triggerBy() === 'dblclick') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('mouseenter') private _onMouseEnter(): void {\r\n if (this.triggerBy() === 'hover') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('mouseleave') private _onMouseLeave(): void {\r\n if (this.triggerBy() === 'hover') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('focus') private _onFocus(): void {\r\n if (this.triggerBy() === 'focus') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n @HostListener('focusout') private _onFocusout(): void {\r\n if (this.triggerBy() === 'focus') {\r\n this._toggleOverlay()\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._disposeOverlay();\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, EventEmitter, effect, Output, Component, computed, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
+ import { CommonModule } from '@angular/common';
4
+ import { BackdropComponent } from '@bootkit/ng0/components/backdrop';
5
+
6
+ class SidenavComponent {
7
+ _vcr;
8
+ _elmentRef;
9
+ _renderer;
10
+ open = input(true, ...(ngDevMode ? [{ debugName: "open" }] : []));
11
+ mode = input('push', ...(ngDevMode ? [{ debugName: "mode" }] : []));
12
+ hasBackdrop = input(true, ...(ngDevMode ? [{ debugName: "hasBackdrop" }] : []));
13
+ position = input('start', ...(ngDevMode ? [{ debugName: "position" }] : []));
14
+ sidenavWidth = input.required(...(ngDevMode ? [{ debugName: "sidenavWidth" }] : []));
15
+ fixedInViewport = input(false, ...(ngDevMode ? [{ debugName: "fixedInViewport" }] : []));
16
+ backdropClick = new EventEmitter();
17
+ _backdropRef;
18
+ _backdropClickHandlerUnlisten;
19
+ constructor(_vcr, _elmentRef, _renderer) {
20
+ this._vcr = _vcr;
21
+ this._elmentRef = _elmentRef;
22
+ this._renderer = _renderer;
23
+ effect(() => {
24
+ var hasBackdrop = this.hasBackdrop();
25
+ var mode = this.mode();
26
+ var open = this.open();
27
+ if (mode == 'over' && hasBackdrop) {
28
+ if (open) {
29
+ this._backdropRef = this._vcr.createComponent(BackdropComponent, {});
30
+ const backdropElm = this._backdropRef.location.nativeElement;
31
+ this._backdropClickHandlerUnlisten = _renderer.listen(backdropElm, 'click', (e) => {
32
+ this.backdropClick.emit(e);
33
+ });
34
+ // Move backdrop element before Host element
35
+ const hostElm = this._elmentRef.nativeElement;
36
+ const parentElm = hostElm.parentNode;
37
+ this._renderer.insertBefore(parentElm, backdropElm, hostElm);
38
+ }
39
+ else {
40
+ this._backdropRef?.destroy();
41
+ }
42
+ }
43
+ });
44
+ }
45
+ ngOnInit() {
46
+ }
47
+ ngOnDestroy() {
48
+ this._backdropClickHandlerUnlisten?.();
49
+ }
50
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
51
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.6", type: SidenavComponent, isStandalone: true, selector: "ng0-sidenav", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, sidenavWidth: { classPropertyName: "sidenavWidth", publicName: "sidenavWidth", isSignal: true, isRequired: true, transformFunction: null }, fixedInViewport: { classPropertyName: "fixedInViewport", publicName: "fixedInViewport", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, host: { properties: { "style.width": "sidenavWidth() + 'px'", "class.ng0-sidenav-start": "position() == 'start'", "class.ng0-sidenav-end": "position() == 'end'", "class.ng0-sidenav-open": "open()", "class.ng0-sidenav-fixed": "fixedInViewport()" } }, providers: [], ngImport: i0, template: "<ng-content></ng-content>\r\n\r\n<!-- @if(open() && mode() == 'over' && hasBackdrop()) {\r\n<div class=\"ng0-sidenav-backdrop\"></div>\r\n} -->", styles: [":host{position:absolute;top:0;bottom:0;transition:transform .1s ease-in-out;overflow-x:hidden}:host.ng0-sidenav-fixed{position:fixed!important}:host.ng0-sidenav-start{inset-inline-start:0;transform:translate(-100%)}:dir(rtl) :host.ng0-sidenav-start,body[dir=rtl] :host.ng0-sidenav-start{transform:translate(100%)}:host.ng0-sidenav-start.ng0-sidenav-open{transform:translate(0)!important}:host.ng0-sidenav-end{inset-inline-end:0;transform:translate(100%)}:dir(rtl) :host.ng0-sidenav-end,body[dir=rtl] :host.ng0-sidenav-end{transform:translate(-100%)}:host.ng0-sidenav-end.ng0-sidenav-open{transform:translate(0)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
52
+ }
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavComponent, decorators: [{
54
+ type: Component,
55
+ args: [{ selector: 'ng0-sidenav', providers: [], standalone: true, imports: [
56
+ CommonModule,
57
+ ], host: {
58
+ "[style.width]": "sidenavWidth() + 'px'",
59
+ "[class.ng0-sidenav-start]": "position() == 'start'",
60
+ "[class.ng0-sidenav-end]": "position() == 'end'",
61
+ "[class.ng0-sidenav-open]": "open()",
62
+ "[class.ng0-sidenav-fixed]": "fixedInViewport()",
63
+ }, template: "<ng-content></ng-content>\r\n\r\n<!-- @if(open() && mode() == 'over' && hasBackdrop()) {\r\n<div class=\"ng0-sidenav-backdrop\"></div>\r\n} -->", styles: [":host{position:absolute;top:0;bottom:0;transition:transform .1s ease-in-out;overflow-x:hidden}:host.ng0-sidenav-fixed{position:fixed!important}:host.ng0-sidenav-start{inset-inline-start:0;transform:translate(-100%)}:dir(rtl) :host.ng0-sidenav-start,body[dir=rtl] :host.ng0-sidenav-start{transform:translate(100%)}:host.ng0-sidenav-start.ng0-sidenav-open{transform:translate(0)!important}:host.ng0-sidenav-end{inset-inline-end:0;transform:translate(100%)}:dir(rtl) :host.ng0-sidenav-end,body[dir=rtl] :host.ng0-sidenav-end{transform:translate(-100%)}:host.ng0-sidenav-end.ng0-sidenav-open{transform:translate(0)!important}\n"] }]
64
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { backdropClick: [{
65
+ type: Output
66
+ }] } });
67
+
68
+ class SidenavContainerComponent {
69
+ backdropClick = new EventEmitter();
70
+ sidenavs;
71
+ _floatAside = false;
72
+ _contentPaddingStart = computed(() => {
73
+ let widths = this.sidenavs.filter(x => x.open() && x.position() == 'start' && x.mode() == 'push').map(x => x.sidenavWidth());
74
+ return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;
75
+ }, ...(ngDevMode ? [{ debugName: "_contentPaddingStart" }] : []));
76
+ _contentPaddingEnd = computed(() => {
77
+ let widths = this.sidenavs.filter(x => x.open() && x.position() == 'end' && x.mode() == 'push').map(x => x.sidenavWidth());
78
+ return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;
79
+ }, ...(ngDevMode ? [{ debugName: "_contentPaddingEnd" }] : []));
80
+ constructor() {
81
+ }
82
+ ngOnInit() {
83
+ }
84
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.6", type: SidenavContainerComponent, isStandalone: true, selector: "ng0-sidenav-container", outputs: { backdropClick: "backdropClick" }, host: { properties: { "style.padding-inline-start": "_contentPaddingStart()", "style.padding-inline-end": "_contentPaddingEnd()", "class.float-aside": "this._floatAside" } }, providers: [], queries: [{ propertyName: "sidenavs", predicate: SidenavComponent }], ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{position:relative;transition:padding .1s;display:block;overflow-x:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
86
+ }
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavContainerComponent, decorators: [{
88
+ type: Component,
89
+ args: [{ selector: 'ng0-sidenav-container', providers: [], standalone: true, imports: [
90
+ CommonModule,
91
+ ], host: {
92
+ "[style.padding-inline-start]": "_contentPaddingStart()",
93
+ "[style.padding-inline-end]": "_contentPaddingEnd()",
94
+ }, template: "<ng-content></ng-content>\r\n", styles: [":host{position:relative;transition:padding .1s;display:block;overflow-x:hidden}\n"] }]
95
+ }], ctorParameters: () => [], propDecorators: { backdropClick: [{
96
+ type: Output
97
+ }], sidenavs: [{
98
+ type: ContentChildren,
99
+ args: [SidenavComponent]
100
+ }], _floatAside: [{
101
+ type: HostBinding,
102
+ args: ['class.float-aside']
103
+ }] } });
104
+
105
+ class SidenavModule {
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.6", ngImport: i0, type: SidenavModule, imports: [SidenavContainerComponent,
108
+ SidenavComponent], exports: [SidenavContainerComponent,
109
+ SidenavComponent] });
110
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavModule, imports: [SidenavContainerComponent,
111
+ SidenavComponent] });
112
+ }
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: SidenavModule, decorators: [{
114
+ type: NgModule,
115
+ args: [{
116
+ imports: [
117
+ SidenavContainerComponent,
118
+ SidenavComponent
119
+ ],
120
+ exports: [
121
+ SidenavContainerComponent,
122
+ SidenavComponent
123
+ ]
124
+ }]
125
+ }] });
126
+
127
+ /**
128
+ * Generated bundle index. Do not edit.
129
+ */
130
+
131
+ export { SidenavComponent, SidenavContainerComponent, SidenavModule };
132
+ //# sourceMappingURL=bootkit-ng0-components-sidenav.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bootkit-ng0-components-sidenav.mjs","sources":["../../../projects/ng0/components/sidenav/sidenav.component.ts","../../../projects/ng0/components/sidenav/sidenav.component.html","../../../projects/ng0/components/sidenav/sidenav-container.component.ts","../../../projects/ng0/components/sidenav/sidenav-container.component.html","../../../projects/ng0/components/sidenav/sidenav.module.ts","../../../projects/ng0/components/sidenav/bootkit-ng0-components-sidenav.ts"],"sourcesContent":["import { Component, ComponentRef, effect, ElementRef, EventEmitter, input, OnDestroy, OnInit, Output, Renderer2, ViewContainerRef } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavMode, SidenavPosition } from './types';\r\nimport { BackdropComponent } from '@bootkit/ng0/components/backdrop';\r\n\r\n@Component({\r\n selector: 'ng0-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.width]\": \"sidenavWidth() + 'px'\",\r\n \"[class.ng0-sidenav-start]\": \"position() == 'start'\",\r\n \"[class.ng0-sidenav-end]\": \"position() == 'end'\",\r\n \"[class.ng0-sidenav-open]\": \"open()\",\r\n \"[class.ng0-sidenav-fixed]\": \"fixedInViewport()\",\r\n }\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy {\r\n public open = input(true);\r\n public mode = input<SidenavMode>('push');\r\n public hasBackdrop = input(true);\r\n public position = input<SidenavPosition>('start');\r\n public sidenavWidth = input.required<number>();\r\n public fixedInViewport = input(false);\r\n @Output() public backdropClick = new EventEmitter<MouseEvent>();\r\n private _backdropRef?: ComponentRef<any>;\r\n private _backdropClickHandlerUnlisten?: () => void;\r\n\r\n\r\n constructor(private _vcr: ViewContainerRef, private _elmentRef: ElementRef, private _renderer: Renderer2) {\r\n effect(() => {\r\n var hasBackdrop = this.hasBackdrop();\r\n var mode = this.mode();\r\n var open = this.open();\r\n\r\n if (mode == 'over' && hasBackdrop) {\r\n\r\n if (open) {\r\n this._backdropRef = this._vcr.createComponent(BackdropComponent, {});\r\n const backdropElm = this._backdropRef.location.nativeElement;\r\n this._backdropClickHandlerUnlisten = _renderer.listen(backdropElm, 'click', (e) => {\r\n this.backdropClick.emit(e);\r\n });\r\n\r\n // Move backdrop element before Host element\r\n const hostElm = this._elmentRef.nativeElement;\r\n const parentElm = hostElm.parentNode;\r\n this._renderer.insertBefore(parentElm, backdropElm, hostElm);\r\n } else {\r\n this._backdropRef?.destroy();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._backdropClickHandlerUnlisten?.();\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n\r\n<!-- @if(open() && mode() == 'over' && hasBackdrop()) {\r\n<div class=\"ng0-sidenav-backdrop\"></div>\r\n} -->","import { Component, computed, ContentChildren, EventEmitter, HostBinding, OnInit, Output, QueryList } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n@Component({\r\n selector: 'ng0-sidenav-container',\r\n templateUrl: './sidenav-container.component.html',\r\n styleUrls: ['./sidenav-container.component.scss'],\r\n providers: [],\r\n standalone: true,\r\n imports: [\r\n CommonModule,\r\n ],\r\n host: {\r\n \"[style.padding-inline-start]\": \"_contentPaddingStart()\",\r\n \"[style.padding-inline-end]\": \"_contentPaddingEnd()\",\r\n }\r\n})\r\nexport class SidenavContainerComponent implements OnInit {\r\n\r\n @Output() backdropClick = new EventEmitter();\r\n @ContentChildren(SidenavComponent) protected sidenavs!: QueryList<SidenavComponent>;\r\n\r\n @HostBinding('class.float-aside')\r\n protected _floatAside = false;\r\n\r\n protected _contentPaddingStart = computed(() => {\r\n let widths = this.sidenavs.filter(x => x.open() && x.position() == 'start' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n protected _contentPaddingEnd = computed(() => {\r\n let widths = this.sidenavs.filter(x => x.open() && x.position() == 'end' && x.mode() == 'push').map(x => x.sidenavWidth());\r\n return widths.length == 0 ? '0' : `${Math.max(...widths)}px`;\r\n });\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n}\r\n","<ng-content></ng-content>\r\n","import { NgModule } from '@angular/core';\r\nimport { SidenavContainerComponent } from './sidenav-container.component';\r\nimport { SidenavComponent } from './sidenav.component';\r\n\r\n@NgModule({\r\n imports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ],\r\n exports: [\r\n SidenavContainerComponent,\r\n SidenavComponent\r\n ]\r\n})\r\nexport class SidenavModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}