@unipin/angular-applet 18.9.7 → 21.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 (275) hide show
  1. package/README.md +49 -10
  2. package/common/assets/sprites/flagGlobal.png +0 -0
  3. package/common/assets/sprites/flagSprite42.webp +0 -0
  4. package/common/assets/styles/freakflags.scss +263 -0
  5. package/common/assets/styles/theme.css +69 -0
  6. package/fesm2022/unipin-angular-applet-accordion.mjs +242 -0
  7. package/fesm2022/unipin-angular-applet-accordion.mjs.map +1 -0
  8. package/fesm2022/unipin-angular-applet-alert-dialog.mjs +267 -0
  9. package/fesm2022/unipin-angular-applet-alert-dialog.mjs.map +1 -0
  10. package/fesm2022/unipin-angular-applet-alert.mjs +94 -0
  11. package/fesm2022/unipin-angular-applet-alert.mjs.map +1 -0
  12. package/fesm2022/unipin-angular-applet-auth.mjs +707 -0
  13. package/fesm2022/unipin-angular-applet-auth.mjs.map +1 -0
  14. package/fesm2022/unipin-angular-applet-avatar.mjs +41 -0
  15. package/fesm2022/unipin-angular-applet-avatar.mjs.map +1 -0
  16. package/fesm2022/unipin-angular-applet-badge.mjs +50 -0
  17. package/fesm2022/unipin-angular-applet-badge.mjs.map +1 -0
  18. package/fesm2022/unipin-angular-applet-buttons.mjs +263 -0
  19. package/fesm2022/unipin-angular-applet-buttons.mjs.map +1 -0
  20. package/fesm2022/unipin-angular-applet-calendar.mjs +492 -0
  21. package/fesm2022/unipin-angular-applet-calendar.mjs.map +1 -0
  22. package/fesm2022/unipin-angular-applet-collapsible.mjs +97 -0
  23. package/fesm2022/unipin-angular-applet-collapsible.mjs.map +1 -0
  24. package/fesm2022/unipin-angular-applet-common.mjs +342 -0
  25. package/fesm2022/unipin-angular-applet-common.mjs.map +1 -0
  26. package/fesm2022/unipin-angular-applet-containers.mjs +472 -0
  27. package/fesm2022/unipin-angular-applet-containers.mjs.map +1 -0
  28. package/fesm2022/unipin-angular-applet-dialog.mjs +535 -0
  29. package/fesm2022/unipin-angular-applet-dialog.mjs.map +1 -0
  30. package/fesm2022/unipin-angular-applet-forms.mjs +1699 -0
  31. package/fesm2022/unipin-angular-applet-forms.mjs.map +1 -0
  32. package/fesm2022/unipin-angular-applet-froala.mjs +298 -0
  33. package/fesm2022/unipin-angular-applet-froala.mjs.map +1 -0
  34. package/fesm2022/unipin-angular-applet-grids.mjs +105 -0
  35. package/fesm2022/unipin-angular-applet-grids.mjs.map +1 -0
  36. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs +86 -0
  37. package/fesm2022/unipin-angular-applet-infinite-scroll.mjs.map +1 -0
  38. package/fesm2022/unipin-angular-applet-json-viewer.mjs +71 -0
  39. package/fesm2022/unipin-angular-applet-json-viewer.mjs.map +1 -0
  40. package/fesm2022/unipin-angular-applet-loading-dialog.mjs +252 -0
  41. package/fesm2022/unipin-angular-applet-loading-dialog.mjs.map +1 -0
  42. package/fesm2022/unipin-angular-applet-markdown.mjs +703 -0
  43. package/fesm2022/unipin-angular-applet-markdown.mjs.map +1 -0
  44. package/fesm2022/unipin-angular-applet-micro-frontend.mjs +75 -0
  45. package/fesm2022/unipin-angular-applet-micro-frontend.mjs.map +1 -0
  46. package/fesm2022/unipin-angular-applet-popover.mjs +333 -0
  47. package/fesm2022/unipin-angular-applet-popover.mjs.map +1 -0
  48. package/fesm2022/unipin-angular-applet-progress-bar.mjs +38 -0
  49. package/fesm2022/unipin-angular-applet-progress-bar.mjs.map +1 -0
  50. package/fesm2022/unipin-angular-applet-skeleton.mjs +32 -0
  51. package/fesm2022/unipin-angular-applet-skeleton.mjs.map +1 -0
  52. package/fesm2022/unipin-angular-applet-spinner.mjs +144 -0
  53. package/fesm2022/unipin-angular-applet-spinner.mjs.map +1 -0
  54. package/fesm2022/unipin-angular-applet-swipeable.mjs +270 -0
  55. package/fesm2022/unipin-angular-applet-swipeable.mjs.map +1 -0
  56. package/fesm2022/unipin-angular-applet-tabs.mjs +142 -0
  57. package/fesm2022/unipin-angular-applet-tabs.mjs.map +1 -0
  58. package/fesm2022/unipin-angular-applet-tooltip.mjs +118 -0
  59. package/fesm2022/unipin-angular-applet-tooltip.mjs.map +1 -0
  60. package/fesm2022/unipin-angular-applet.mjs +5 -4617
  61. package/fesm2022/unipin-angular-applet.mjs.map +1 -1
  62. package/package.json +132 -29
  63. package/types/unipin-angular-applet-accordion.d.ts +60 -0
  64. package/types/unipin-angular-applet-alert-dialog.d.ts +35 -0
  65. package/types/unipin-angular-applet-alert.d.ts +34 -0
  66. package/types/unipin-angular-applet-auth.d.ts +225 -0
  67. package/types/unipin-angular-applet-avatar.d.ts +16 -0
  68. package/types/unipin-angular-applet-badge.d.ts +20 -0
  69. package/types/unipin-angular-applet-buttons.d.ts +37 -0
  70. package/types/unipin-angular-applet-calendar.d.ts +44 -0
  71. package/types/unipin-angular-applet-collapsible.d.ts +35 -0
  72. package/types/unipin-angular-applet-common.d.ts +94 -0
  73. package/types/unipin-angular-applet-containers.d.ts +179 -0
  74. package/types/unipin-angular-applet-dialog.d.ts +180 -0
  75. package/types/unipin-angular-applet-forms.d.ts +412 -0
  76. package/types/unipin-angular-applet-froala.d.ts +85 -0
  77. package/types/unipin-angular-applet-grids.d.ts +22 -0
  78. package/types/unipin-angular-applet-infinite-scroll.d.ts +51 -0
  79. package/types/unipin-angular-applet-json-viewer.d.ts +30 -0
  80. package/types/unipin-angular-applet-loading-dialog.d.ts +19 -0
  81. package/types/unipin-angular-applet-markdown.d.ts +119 -0
  82. package/types/unipin-angular-applet-micro-frontend.d.ts +11 -0
  83. package/types/unipin-angular-applet-popover.d.ts +58 -0
  84. package/types/unipin-angular-applet-progress-bar.d.ts +14 -0
  85. package/types/unipin-angular-applet-skeleton.d.ts +11 -0
  86. package/types/unipin-angular-applet-spinner.d.ts +12 -0
  87. package/types/unipin-angular-applet-swipeable.d.ts +66 -0
  88. package/types/unipin-angular-applet-tabs.d.ts +40 -0
  89. package/types/unipin-angular-applet-tooltip.d.ts +32 -0
  90. package/types/unipin-angular-applet.d.ts +3 -0
  91. package/esm2022/graphql/generated.mjs +0 -938
  92. package/esm2022/lib/components/approval/detail/approval-detail.component.mjs +0 -78
  93. package/esm2022/lib/components/approval/form/approval-form.component.mjs +0 -128
  94. package/esm2022/lib/components/approval/index.mjs +0 -5
  95. package/esm2022/lib/components/approval/list/approval-list.component.mjs +0 -114
  96. package/esm2022/lib/components/approval/list/provide-approval-entities.util.mjs +0 -9
  97. package/esm2022/lib/components/approval/services/approval.service.mjs +0 -46
  98. package/esm2022/lib/components/audit/detail/audit-detail.component.mjs +0 -123
  99. package/esm2022/lib/components/audit/index.mjs +0 -3
  100. package/esm2022/lib/components/audit/list/audit-list.component.mjs +0 -81
  101. package/esm2022/lib/components/audit/service/audit.service.mjs +0 -49
  102. package/esm2022/lib/components/audit/types/audit-detail-form.type.mjs +0 -2
  103. package/esm2022/lib/components/buttons/group/btn-group.component.mjs +0 -43
  104. package/esm2022/lib/components/buttons/group/interfaces/btn-group-config.interface.mjs +0 -2
  105. package/esm2022/lib/components/buttons/index.mjs +0 -3
  106. package/esm2022/lib/components/buttons/loading/btn-loading.component.mjs +0 -48
  107. package/esm2022/lib/components/containers/applet-container/applet-container.component.mjs +0 -55
  108. package/esm2022/lib/components/containers/applet-container/provide-applet-config.util.mjs +0 -9
  109. package/esm2022/lib/components/containers/colum-header-container/column-header-container.component.mjs +0 -23
  110. package/esm2022/lib/components/containers/column-container/column-container.component.mjs +0 -79
  111. package/esm2022/lib/components/containers/column-container/directives/lazy-route.directive.mjs +0 -57
  112. package/esm2022/lib/components/containers/index.mjs +0 -7
  113. package/esm2022/lib/components/containers/list-container/index.mjs +0 -3
  114. package/esm2022/lib/components/containers/list-container/interfaces/list-container-config.interface.mjs +0 -2
  115. package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +0 -58
  116. package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +0 -57
  117. package/esm2022/lib/components/containers/modal-container/modal-container.component.mjs +0 -40
  118. package/esm2022/lib/components/filter/filter.component.mjs +0 -222
  119. package/esm2022/lib/components/filter/index.mjs +0 -2
  120. package/esm2022/lib/components/filter/interfaces/filter-config.interface.mjs +0 -2
  121. package/esm2022/lib/components/filter/interfaces/filter-field.interface.mjs +0 -2
  122. package/esm2022/lib/components/filter/interfaces/filter-search-event.interface.mjs +0 -2
  123. package/esm2022/lib/components/forms/country-input/form-country-input.component.mjs +0 -122
  124. package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +0 -157
  125. package/esm2022/lib/components/forms/date/form-date.component.mjs +0 -117
  126. package/esm2022/lib/components/forms/image-picker/directives/drag-n-drop.directive.mjs +0 -49
  127. package/esm2022/lib/components/forms/image-picker/form-image-picker.component.mjs +0 -68
  128. package/esm2022/lib/components/forms/index.mjs +0 -12
  129. package/esm2022/lib/components/forms/input/form-input.component.mjs +0 -98
  130. package/esm2022/lib/components/forms/number/form-number.component.mjs +0 -97
  131. package/esm2022/lib/components/forms/number/pipes/locale-number.pipe.mjs +0 -33
  132. package/esm2022/lib/components/forms/password/form-password.component.mjs +0 -100
  133. package/esm2022/lib/components/forms/rate-group-code-input/form-rate-group-code-input.component.mjs +0 -135
  134. package/esm2022/lib/components/forms/searchable-select/form-searchable-select.component.mjs +0 -138
  135. package/esm2022/lib/components/forms/select/form-select.component.mjs +0 -119
  136. package/esm2022/lib/components/forms/textarea/form-textarea.component.mjs +0 -88
  137. package/esm2022/lib/components/grids/grid-pagination/grid-pagination.component.mjs +0 -111
  138. package/esm2022/lib/components/grids/grid-snapshot/grid-snapshot.component.mjs +0 -109
  139. package/esm2022/lib/components/grids/index.mjs +0 -4
  140. package/esm2022/lib/components/grids/interfaces/grid-config.interface.mjs +0 -2
  141. package/esm2022/lib/components/grids/services/grid.service.mjs +0 -25
  142. package/esm2022/lib/components/index.mjs +0 -9
  143. package/esm2022/lib/components/infinite-scroll/directive/infinite-scroll.directive.mjs +0 -43
  144. package/esm2022/lib/components/infinite-scroll/index.mjs +0 -3
  145. package/esm2022/lib/components/infinite-scroll/infinite-scroll.component.mjs +0 -36
  146. package/esm2022/lib/components/tabs/index.mjs +0 -3
  147. package/esm2022/lib/components/tabs/tab-content/tab-content.component.mjs +0 -37
  148. package/esm2022/lib/components/tabs/tab-group/tab-group.component.mjs +0 -47
  149. package/esm2022/lib/guards/auth/auth.guard.mjs +0 -10
  150. package/esm2022/lib/guards/index.mjs +0 -2
  151. package/esm2022/lib/interceptors/header/header.interceptor.mjs +0 -29
  152. package/esm2022/lib/interceptors/index.mjs +0 -3
  153. package/esm2022/lib/interceptors/refresh-token/refresh-token.interceptor.mjs +0 -83
  154. package/esm2022/lib/interfaces/index.mjs +0 -2
  155. package/esm2022/lib/interfaces/user/user.interface.mjs +0 -2
  156. package/esm2022/lib/modules/index.mjs +0 -3
  157. package/esm2022/lib/modules/micro-frontend/index.mjs +0 -2
  158. package/esm2022/lib/modules/micro-frontend/utils/mf-bootstrap.util.mjs +0 -55
  159. package/esm2022/lib/modules/micro-frontend/utils/mf-global-state.util.mjs +0 -14
  160. package/esm2022/lib/modules/permission/directive/permission.directive.mjs +0 -41
  161. package/esm2022/lib/modules/permission/guards/permission.guard.mjs +0 -26
  162. package/esm2022/lib/modules/permission/index.mjs +0 -7
  163. package/esm2022/lib/modules/permission/pages/401/unauthorized.page.mjs +0 -15
  164. package/esm2022/lib/modules/permission/pages/loading/loading.page.mjs +0 -65
  165. package/esm2022/lib/modules/permission/pages/loading/provide-loading-config.util.mjs +0 -9
  166. package/esm2022/lib/modules/permission/services/permission.service.mjs +0 -50
  167. package/esm2022/lib/resolvers/auth/auth.resolver.mjs +0 -87
  168. package/esm2022/lib/resolvers/index.mjs +0 -2
  169. package/esm2022/lib/services/auth/auth.service.mjs +0 -171
  170. package/esm2022/lib/services/country/country.service.mjs +0 -43
  171. package/esm2022/lib/services/currency/currency.service.mjs +0 -40
  172. package/esm2022/lib/services/index.mjs +0 -6
  173. package/esm2022/lib/services/profile/profile.service.mjs +0 -82
  174. package/esm2022/lib/services/rate-group-code/rate-group-code.service.mjs +0 -31
  175. package/esm2022/lib/utils/contrast-color-generator/contrast-color-generator.util.mjs +0 -16
  176. package/esm2022/lib/utils/form-error-message/form-error-message.util.mjs +0 -21
  177. package/esm2022/lib/utils/format-capitalize/format-capitalize.util.mjs +0 -18
  178. package/esm2022/lib/utils/index.mjs +0 -5
  179. package/esm2022/lib/utils/redirect-to-first-menu/redirect-to-first-menu.util.mjs +0 -9
  180. package/esm2022/public-api.mjs +0 -10
  181. package/esm2022/unipin-angular-applet.mjs +0 -2
  182. package/graphql/generated.d.ts +0 -16225
  183. package/index.d.ts +0 -2
  184. package/lib/components/approval/detail/approval-detail.component.d.ts +0 -26
  185. package/lib/components/approval/form/approval-form.component.d.ts +0 -33
  186. package/lib/components/approval/index.d.ts +0 -4
  187. package/lib/components/approval/list/approval-list.component.d.ts +0 -33
  188. package/lib/components/approval/list/provide-approval-entities.util.d.ts +0 -3
  189. package/lib/components/approval/services/approval.service.d.ts +0 -18
  190. package/lib/components/audit/detail/audit-detail.component.d.ts +0 -33
  191. package/lib/components/audit/index.d.ts +0 -2
  192. package/lib/components/audit/list/audit-list.component.d.ts +0 -31
  193. package/lib/components/audit/service/audit.service.d.ts +0 -15
  194. package/lib/components/audit/types/audit-detail-form.type.d.ts +0 -12
  195. package/lib/components/buttons/group/btn-group.component.d.ts +0 -18
  196. package/lib/components/buttons/group/interfaces/btn-group-config.interface.d.ts +0 -11
  197. package/lib/components/buttons/index.d.ts +0 -3
  198. package/lib/components/buttons/loading/btn-loading.component.d.ts +0 -19
  199. package/lib/components/containers/applet-container/applet-container.component.d.ts +0 -22
  200. package/lib/components/containers/applet-container/provide-applet-config.util.d.ts +0 -15
  201. package/lib/components/containers/colum-header-container/column-header-container.component.d.ts +0 -7
  202. package/lib/components/containers/column-container/column-container.component.d.ts +0 -26
  203. package/lib/components/containers/column-container/directives/lazy-route.directive.d.ts +0 -17
  204. package/lib/components/containers/index.d.ts +0 -6
  205. package/lib/components/containers/list-container/index.d.ts +0 -3
  206. package/lib/components/containers/list-container/interfaces/list-container-config.interface.d.ts +0 -9
  207. package/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.d.ts +0 -23
  208. package/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.d.ts +0 -23
  209. package/lib/components/containers/modal-container/modal-container.component.d.ts +0 -16
  210. package/lib/components/filter/filter.component.d.ts +0 -44
  211. package/lib/components/filter/index.d.ts +0 -4
  212. package/lib/components/filter/interfaces/filter-config.interface.d.ts +0 -5
  213. package/lib/components/filter/interfaces/filter-field.interface.d.ts +0 -24
  214. package/lib/components/filter/interfaces/filter-search-event.interface.d.ts +0 -4
  215. package/lib/components/forms/country-input/form-country-input.component.d.ts +0 -41
  216. package/lib/components/forms/currency-input/form-currency-input.component.d.ts +0 -52
  217. package/lib/components/forms/date/form-date.component.d.ts +0 -33
  218. package/lib/components/forms/image-picker/directives/drag-n-drop.directive.d.ts +0 -10
  219. package/lib/components/forms/image-picker/form-image-picker.component.d.ts +0 -21
  220. package/lib/components/forms/index.d.ts +0 -11
  221. package/lib/components/forms/input/form-input.component.d.ts +0 -31
  222. package/lib/components/forms/number/form-number.component.d.ts +0 -27
  223. package/lib/components/forms/number/pipes/locale-number.pipe.d.ts +0 -8
  224. package/lib/components/forms/password/form-password.component.d.ts +0 -27
  225. package/lib/components/forms/rate-group-code-input/form-rate-group-code-input.component.d.ts +0 -41
  226. package/lib/components/forms/searchable-select/form-searchable-select.component.d.ts +0 -42
  227. package/lib/components/forms/select/form-select.component.d.ts +0 -34
  228. package/lib/components/forms/textarea/form-textarea.component.d.ts +0 -26
  229. package/lib/components/grids/grid-pagination/grid-pagination.component.d.ts +0 -33
  230. package/lib/components/grids/grid-snapshot/grid-snapshot.component.d.ts +0 -36
  231. package/lib/components/grids/index.d.ts +0 -4
  232. package/lib/components/grids/interfaces/grid-config.interface.d.ts +0 -16
  233. package/lib/components/grids/services/grid.service.d.ts +0 -12
  234. package/lib/components/index.d.ts +0 -8
  235. package/lib/components/infinite-scroll/directive/infinite-scroll.directive.d.ts +0 -15
  236. package/lib/components/infinite-scroll/index.d.ts +0 -2
  237. package/lib/components/infinite-scroll/infinite-scroll.component.d.ts +0 -12
  238. package/lib/components/tabs/index.d.ts +0 -6
  239. package/lib/components/tabs/tab-content/tab-content.component.d.ts +0 -14
  240. package/lib/components/tabs/tab-group/tab-group.component.d.ts +0 -18
  241. package/lib/guards/auth/auth.guard.d.ts +0 -1
  242. package/lib/guards/index.d.ts +0 -1
  243. package/lib/interceptors/header/header.interceptor.d.ts +0 -9
  244. package/lib/interceptors/index.d.ts +0 -2
  245. package/lib/interceptors/refresh-token/refresh-token.interceptor.d.ts +0 -14
  246. package/lib/interfaces/index.d.ts +0 -1
  247. package/lib/interfaces/user/user.interface.d.ts +0 -27
  248. package/lib/modules/index.d.ts +0 -2
  249. package/lib/modules/micro-frontend/index.d.ts +0 -1
  250. package/lib/modules/micro-frontend/utils/mf-bootstrap.util.d.ts +0 -9
  251. package/lib/modules/micro-frontend/utils/mf-global-state.util.d.ts +0 -4
  252. package/lib/modules/permission/directive/permission.directive.d.ts +0 -16
  253. package/lib/modules/permission/guards/permission.guard.d.ts +0 -2
  254. package/lib/modules/permission/index.d.ts +0 -6
  255. package/lib/modules/permission/pages/401/unauthorized.page.d.ts +0 -5
  256. package/lib/modules/permission/pages/loading/loading.page.d.ts +0 -18
  257. package/lib/modules/permission/pages/loading/provide-loading-config.util.d.ts +0 -10
  258. package/lib/modules/permission/services/permission.service.d.ts +0 -21
  259. package/lib/resolvers/auth/auth.resolver.d.ts +0 -14
  260. package/lib/resolvers/index.d.ts +0 -1
  261. package/lib/services/auth/auth.service.d.ts +0 -39
  262. package/lib/services/country/country.service.d.ts +0 -16
  263. package/lib/services/currency/currency.service.d.ts +0 -16
  264. package/lib/services/index.d.ts +0 -5
  265. package/lib/services/profile/profile.service.d.ts +0 -12
  266. package/lib/services/rate-group-code/rate-group-code.service.d.ts +0 -14
  267. package/lib/utils/contrast-color-generator/contrast-color-generator.util.d.ts +0 -4
  268. package/lib/utils/form-error-message/form-error-message.util.d.ts +0 -2
  269. package/lib/utils/format-capitalize/format-capitalize.util.d.ts +0 -1
  270. package/lib/utils/index.d.ts +0 -4
  271. package/lib/utils/redirect-to-first-menu/redirect-to-first-menu.util.d.ts +0 -2
  272. package/public-api.d.ts +0 -11
  273. package/src/assets/scss/forms.scss +0 -65
  274. package/src/assets/scss/grid.scss +0 -7505
  275. package/src/assets/scss/select.scss +0 -328
package/README.md CHANGED
@@ -1,24 +1,63 @@
1
1
  # UnipinAngular
2
2
 
3
- This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.0.
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.0.
4
4
 
5
5
  ## Code scaffolding
6
6
 
7
- Run `ng generate component component-name --project unipin-angular` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project unipin-angular`.
8
- > Note: Don't forget to add `--project unipin-angular` or else it will be added to the default project in your `angular.json` file.
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
9
8
 
10
- ## Build
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
11
12
 
12
- Run `ng build unipin-angular` to build the project. The build artifacts will be stored in the `dist/` directory.
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
13
14
 
14
- ## Publishing
15
+ ```bash
16
+ ng generate --help
17
+ ```
15
18
 
16
- After building your library with `ng build unipin-angular`, go to the dist folder `cd dist/unipin-angular` and run `npm publish`.
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build unipin-angular
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+ ```bash
35
+ cd dist/unipin-angular
36
+ ```
37
+
38
+ 2. Run the `npm publish` command to publish your library to the npm registry:
39
+ ```bash
40
+ npm publish
41
+ ```
17
42
 
18
43
  ## Running unit tests
19
44
 
20
- Run `ng test unipin-angular` to execute the unit tests via [Karma](https://karma-runner.github.io).
45
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
46
+
47
+ ```bash
48
+ ng test
49
+ ```
50
+
51
+ ## Running end-to-end tests
52
+
53
+ For end-to-end (e2e) testing, run:
54
+
55
+ ```bash
56
+ ng e2e
57
+ ```
58
+
59
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
21
60
 
22
- ## Further help
61
+ ## Additional Resources
23
62
 
24
- To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
63
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,263 @@
1
+ /*!*****************************************************
2
+ Freak Flags, Copyright ©2020 Michael P. Cohen. Freak flags is licenced under the MIT licence.
3
+ For complete information visit: www.freakflagsprite.com
4
+ ******************************************************/
5
+ .fflag {
6
+ background-image:url("../imgs/sprites/flagSprite42.webp");
7
+ background-repeat:no-repeat;
8
+ background-size: 100% 49494%;
9
+ display: inline-block;
10
+ overflow: hidden;
11
+ position: relative;
12
+ vertical-align: middle;
13
+ box-sizing: content-box;
14
+ // box-shadow: 0 0 0 1px rgb(220,220,220);
15
+ }
16
+ .fflag-up { //customized .fflag
17
+ @extend .fflag;
18
+ //Round utility - merged here
19
+ background-size: 100%;
20
+ background-clip: content-box;
21
+ border-radius: 5%;
22
+ // Round XL utility - merged here
23
+ width: 40px;
24
+ aspect-ratio: 16/9;
25
+ // @include for-lg{
26
+ // width: 32px; height: 26px;
27
+ // }
28
+ }
29
+
30
+ .fflag-CH,
31
+ .fflag-NP {box-shadow: none!important}
32
+ .fflag-DZ {background-position:center 0.2287%}
33
+ .fflag-AO {background-position:center 0.4524%}
34
+ .fflag-BJ {background-position:center 0.6721%}
35
+ .fflag-BW {background-position:center 0.8958%}
36
+ .fflag-BF {background-position:center 1.1162%}
37
+ .fflag-BI {background-position:center 1.3379%}
38
+ .fflag-CM {background-position:center 1.5589%}
39
+ .fflag-CV {background-position:center 1.7836%}
40
+ .fflag-CF {background-position:center 2.0047%}
41
+ .fflag-TD {background-position:center 2.2247%}
42
+ .fflag-CD {background-position:left 2.4467%}
43
+ .fflag-DJ {background-position:left 2.6674%}
44
+ .fflag-EG {background-position:center 2.8931%}
45
+ .fflag-GQ {background-position:center 3.1125%}
46
+ .fflag-ER {background-position:left 3.3325%}
47
+ .fflag-ET {background-position:center 3.5542%}
48
+ .fflag-GA {background-position:center 3.7759%}
49
+ .fflag-GM {background-position:center 4.0015%}
50
+ .fflag-GH {background-position:center 4.2229%}
51
+ .fflag-GN {background-position:center 4.441%}
52
+ .fflag-GW {background-position:left 4.66663%}
53
+ .fflag-CI {background-position:center 4.8844%}
54
+ .fflag-KE {background-position:center 5.1061%}
55
+ .fflag-LS {background-position:center 5.3278%}
56
+ .fflag-LR {background-position:left 5.5495%}
57
+ .fflag-LY {background-position:center 5.7712%}
58
+ .fflag-MG {background-position:center 5.994%}
59
+ .fflag-MW {background-position:center 6.2156%}
60
+ .fflag-ML {background-position:center 6.4363%}
61
+ .fflag-MR {background-position:center 6.658%}
62
+ .fflag-MU {background-position:center 6.8805%}
63
+ .fflag-YT {background-position:center 7.1038%}
64
+ .fflag-MA {background-position:center 7.3231%}
65
+ .fflag-MZ {background-position:left 7.5448%}
66
+ .fflag-NA {background-position:left 7.7661%}
67
+ .fflag-NE {background-position:center 7.98937%}
68
+ .fflag-NG {background-position:center 8.2099%}
69
+ .fflag-CG {background-position:center 8.4316%}
70
+ .fflag-RE {background-position:center 8.6533%}
71
+ .fflag-RW {background-position:right 8.875%}
72
+ .fflag-SH {background-position:center 9.0967%}
73
+ .fflag-ST {background-position:center 9.32237%}
74
+ .fflag-SN {background-position:center 9.5426%}
75
+ .fflag-SC {background-position:left 9.7628%}
76
+ .fflag-SL {background-position:center 9.9845%}
77
+ .fflag-SO {background-position:center 10.2052%}
78
+ .fflag-ZA {background-position:left 10.4269%}
79
+ .fflag-SS {background-position:left 10.6486%}
80
+ .fflag-SD {background-position:center 10.8703%}
81
+ .fflag-SR {background-position:center 11.0945%}
82
+ .fflag-SZ {background-position:center 11.3135%}
83
+ .fflag-TG {background-position:left 11.5354%}
84
+ .fflag-TN {background-position:center 11.7593%}
85
+ .fflag-UG {background-position:center 11.9799%}
86
+ .fflag-TZ {background-position:center 12.2005%}
87
+ .fflag-EH {background-position:center 12.4222%}
88
+ .fflag-YE {background-position:center 12.644%}
89
+ .fflag-ZM {background-position:center 12.8664%}
90
+ .fflag-ZW {background-position:left 13.0873%}
91
+ .fflag-AI {background-position:center 13.309%}
92
+ .fflag-AG {background-position:center 13.5307%}
93
+ .fflag-AR {background-position:center 13.7524%}
94
+ .fflag-AW {background-position:left 13.9741%}
95
+ .fflag-BS {background-position:left 14.1958%}
96
+ .fflag-BB {background-position:center 14.4175%}
97
+ .fflag-BQ {background-position:center 14.6415%}
98
+ .fflag-BZ {background-position:center 14.8609%}
99
+ .fflag-BM {background-position:center 15.0826%}
100
+ .fflag-BO {background-position:center 15.306%}
101
+ .fflag-VG {background-position:center 15.528%}
102
+ .fflag-BR {background-position:center 15.7496%}
103
+ .fflag-CA {background-position:center 15.9694%}
104
+ .fflag-KY {background-position:center 16.1911%}
105
+ .fflag-CL {background-position:left 16.4128%}
106
+ .fflag-CO {background-position:left 16.6345%}
107
+ .fflag-KM {background-position:center 16.8562%}
108
+ .fflag-CR {background-position:center 17.0779%}
109
+ .fflag-CU {background-position:left 17.2996%}
110
+ .fflag-CW {background-position:center 17.5213%}
111
+ .fflag-DM {background-position:center 17.743%}
112
+ .fflag-DO {background-position:center 17.968%}
113
+ .fflag-EC {background-position:center 18.1864%}
114
+ .fflag-SV {background-position:center 18.4081%}
115
+ .fflag-FK {background-position:center 18.6298%}
116
+ .fflag-GF {background-position:center 18.8515%}
117
+ .fflag-GL {background-position:left 19.0732%}
118
+ .fflag-GD {background-position:center 19.2987%}
119
+ .fflag-GP {background-position:center 19.518%}
120
+ .fflag-GT {background-position:center 19.7383%}
121
+ .fflag-GY {background-position:center 19.96%}
122
+ .fflag-HT {background-position:center 20.1817%}
123
+ .fflag-HN {background-position:center 20.4034%}
124
+ .fflag-JM {background-position:center 20.6241%}
125
+ .fflag-MQ {background-position:center 20.8468%}
126
+ .fflag-MX {background-position:center 21.0685%}
127
+ .fflag-MS {background-position:center 21.2902%}
128
+ .fflag-NI {background-position:center 21.5119%}
129
+ .fflag-PA {background-position:center 21.7336%}
130
+ .fflag-PY {background-position:center 21.9553%}
131
+ .fflag-PE {background-position:center 22.177%}
132
+ .fflag-PR {background-position:left 22.4002%}
133
+ .fflag-BL {background-position:center 22.6204%}
134
+ .fflag-KN {background-position:center 22.8421%}
135
+ .fflag-LC {background-position:center 23.0638%}
136
+ .fflag-PM {background-position:center 23.2855%}
137
+ .fflag-VC {background-position:center 23.5072%}
138
+ .fflag-SX {background-position:left 23.732%}
139
+ .fflag-TT {background-position:center 23.9506%}
140
+ .fflag-TC {background-position:center 24.1723%}
141
+ .fflag-US {background-position:center 24.394%}
142
+ .fflag-VI {background-position:center 24.6157%}
143
+ .fflag-UY {background-position:left 24.8374%}
144
+ .fflag-VE {background-position:center 25.0591%}
145
+ .fflag-AF {background-position:center 25.2808%}
146
+ .fflag-AZ {background-position:center 25.5025%}
147
+ .fflag-BD {background-position:center 25.7242%}
148
+ .fflag-BT {background-position:center 25.9459%}
149
+ .fflag-BN {background-position:center 26.1676%}
150
+ .fflag-KH {background-position:center 26.3885%}
151
+ .fflag-CN {background-position:left 26.611%}
152
+ .fflag-GE {background-position:center 26.8327%}
153
+ .fflag-HK {background-position:center 27.0544%}
154
+ .fflag-IN {background-position:center 27.2761%}
155
+ .fflag-ID {background-position:center 27.4978%}
156
+ .fflag-JP {background-position:center 27.7195%}
157
+ .fflag-KZ {background-position:center 27.9412%}
158
+ .fflag-LA {background-position:center 28.1615%}
159
+ .fflag-MO {background-position:center 28.3846%}
160
+ .fflag-MY {background-position:center 28.6063%}
161
+ .fflag-MV {background-position:center 28.829%}
162
+ .fflag-MN {background-position:left 29.0497%}
163
+ .fflag-MM {background-position:center 29.2714%}
164
+ .fflag-NP {background-position:left 29.4931%}
165
+ .fflag-KP {background-position:left 29.7148%}
166
+ .fflag-MP {background-position:center 29.9365%}
167
+ .fflag-PW {background-position:center 30.1582%}
168
+ .fflag-PG {background-position:center 30.3799%}
169
+ .fflag-PH {background-position:left 30.6016%}
170
+ .fflag-SG {background-position:left 30.8233%}
171
+ .fflag-KR {background-position:center 31.045%}
172
+ .fflag-LK {background-position:right 31.2667%}
173
+ .fflag-TW {background-position:left 31.4884%}
174
+ .fflag-TJ {background-position:center 31.7101%}
175
+ .fflag-TH {background-position:center 31.9318%}
176
+ .fflag-TL {background-position:left 32.1535%}
177
+ .fflag-TM {background-position:center 32.3752%}
178
+ .fflag-VN {background-position:center 32.5969%}
179
+ .fflag-AL {background-position:center 32.8186%}
180
+ .fflag-AD {background-position:center 33.0403%}
181
+ .fflag-AM {background-position:center 33.258%}
182
+ .fflag-AT {background-position:center 33.4837%}
183
+ .fflag-BY {background-position:left 33.7054%}
184
+ .fflag-BE {background-position:center 33.9271%}
185
+ .fflag-BA {background-position:center 34.1488%}
186
+ .fflag-BG {background-position:center 34.3705%}
187
+ .fflag-HR {background-position:center 34.5922%}
188
+ .fflag-CY {background-position:center 34.8139%}
189
+ .fflag-CZ {background-position:left 35.0356%}
190
+ .fflag-DK {background-position:center 35.2555%}
191
+ .fflag-EE {background-position:center 35.479%}
192
+ .fflag-FO {background-position:center 35.7007%}
193
+ .fflag-FI {background-position:center 35.9224%}
194
+ .fflag-FR {background-position:center 36.1441%}
195
+ .fflag-DE {background-position:center 36.3658%}
196
+ .fflag-GI {background-position:center 36.5875%}
197
+ .fflag-GR {background-position:left 36.8092%}
198
+ .fflag-HU {background-position:center 37.0309%}
199
+ .fflag-IS {background-position:center 37.2526%}
200
+ .fflag-IE {background-position:center 37.4743%}
201
+ .fflag-IM {background-position:center 37.696%}
202
+ .fflag-IT {background-position:center 37.9177%}
203
+ .fflag-JE {background-position:center 38.1394%}
204
+ .fflag-XK {background-position:center 38.3611%}
205
+ .fflag-LV {background-position:center 38.5828%}
206
+ .fflag-LI {background-position:left 38.8045%}
207
+ .fflag-LT {background-position:center 39.0262%}
208
+ .fflag-LU {background-position:center 39.2479%}
209
+ .fflag-MT {background-position:left 39.4696%}
210
+ .fflag-MD {background-position:center 39.6913%}
211
+ .fflag-MC {background-position:center 39.913%}
212
+ .fflag-ME {background-position:center 40.1347%}
213
+ .fflag-NL {background-position:center 40.3564%}
214
+ .fflag-MK {background-position:center 40.5781%}
215
+ .fflag-NO {background-position:center 40.7998%}
216
+ .fflag-PL {background-position:center 41.0215%}
217
+ .fflag-PT {background-position:center 41.2432%}
218
+ .fflag-RO {background-position:center 41.4649%}
219
+ .fflag-RU {background-position:center 41.6866%}
220
+ .fflag-SM {background-position:center 41.9083%}
221
+ .fflag-RS {background-position:center 42.13%}
222
+ .fflag-SK {background-position:center 42.3517%}
223
+ .fflag-SI {background-position:center 42.5734%}
224
+ .fflag-ES {background-position:left 42.7951%}
225
+ .fflag-SE {background-position:center 43.0168%}
226
+ .fflag-CH {background-position:center 43.2385%}
227
+ .fflag-TR {background-position:center 43.4602%}
228
+ .fflag-UA {background-position:center 43.6819%}
229
+ .fflag-GB {background-position:center 43.9036%}
230
+ .fflag-VA {background-position:right 44.1253%}
231
+ .fflag-BH {background-position:center 44.347%}
232
+ .fflag-IR {background-position:center 44.5687%}
233
+ .fflag-IQ {background-position:center 44.7904%}
234
+ .fflag-IL {background-position:center 45.0121%}
235
+ .fflag-KW {background-position:left 45.2338%}
236
+ .fflag-JO {background-position:left 45.4555%}
237
+ .fflag-KG {background-position:center 45.6772%}
238
+ .fflag-LB {background-position:center 45.897%}
239
+ .fflag-OM {background-position:left 46.1206%}
240
+ .fflag-PK {background-position:center 46.3423%}
241
+ .fflag-PS {background-position:center 46.561%}
242
+ .fflag-QA {background-position:center 46.7857%}
243
+ .fflag-SA {background-position:center 47.0074%}
244
+ .fflag-SY {background-position:center 47.2291%}
245
+ .fflag-AE {background-position:center 47.4508%}
246
+ .fflag-UZ {background-position:left 47.6725%}
247
+ .fflag-AU {background-position:center 47.8942%}
248
+ .fflag-NZ {background-position:center 48.1159%}
249
+
250
+ .ff-sm {width: 12px; height: 12px}
251
+ .ff-md {width: 18px; height: 18px}
252
+ .ff-lg {width: 24px; height: 24px}
253
+ .ff-xl {width: 32px; height: 32px}
254
+
255
+ // Global special case
256
+
257
+ .fflag-GO, .fflag-null{
258
+ background-image:url('../imgs/sprites/flagGlobal.png');
259
+ background-size: 120%;
260
+ background-clip: content-box;
261
+ border-radius: 50%;
262
+ background-position: center center;
263
+ }
@@ -0,0 +1,69 @@
1
+ @custom-variant dark (&:is(.dark *));
2
+
3
+ @theme inline {
4
+ --radius-sm: calc(var(--radius) - 4px);
5
+ --radius-md: calc(var(--radius) - 2px);
6
+ --radius-lg: var(--radius);
7
+ --radius-xl: calc(var(--radius) + 4px);
8
+ --color-background: var(--background);
9
+ --color-foreground: var(--foreground);
10
+ --color-primary: var(--primary);
11
+ --color-primary-foreground: var(--primary-foreground);
12
+ --color-secondary: var(--secondary);
13
+ --color-secondary-foreground: var(--secondary-foreground);
14
+ --color-muted: var(--muted);
15
+ --color-muted-foreground: var(--muted-foreground);
16
+ --color-accent: var(--accent);
17
+ --color-accent-foreground: var(--accent-foreground);
18
+ --color-destructive: var(--destructive);
19
+ --color-border: var(--border);
20
+ --color-input: var(--input);
21
+ --color-ring: var(--ring);
22
+ --color-popover: var(--popover);
23
+ --color-popover-foreground: var(--popover-foreground);
24
+ }
25
+
26
+ :root {
27
+ --radius: 0.625rem;
28
+ --background: oklch(0.9911 0 0);
29
+ --foreground: oklch(0.3791 0 0);
30
+
31
+ --primary: oklch(0.6769 0.1781 44.42);
32
+ --primary-foreground: oklch(1 0 0);
33
+ --secondary: oklch(0.9714 0.0136 46.23);
34
+ --secondary-foreground: oklch(0.6769 0.1781 44.42);
35
+ --muted: oklch(0.9702 0 0);
36
+ --muted-foreground: oklch(0.4926 0 0);
37
+ --accent: oklch(0.9714 0.0136 46.23);
38
+ --accent-foreground: oklch(0.6769 0.1781 44.42);
39
+ --destructive: oklch(0.6533 0.2305 28.81);
40
+
41
+ --ring: oklch(0.6769 0.1781 44.42);
42
+ --border: oklch(0.922 0 0);
43
+ --input: oklch(0.922 0 0);
44
+
45
+ --popover: oklch(1 0 0);
46
+ --popover-foreground: oklch(0.145 0 0);
47
+ }
48
+
49
+ .dark {
50
+ --background: oklch(0.145 0 0);
51
+ --foreground: oklch(0.985 0 0);
52
+
53
+ --primary: oklch(0.6769 0.1781 44.42);
54
+ --primary-foreground: oklch(1 0 0);
55
+ --secondary: oklch(0.9714 0.0136 46.23);
56
+ --secondary-foreground: oklch(0.6769 0.1781 44.42);
57
+ --muted: oklch(0.269 0 0);
58
+ --muted-foreground: oklch(0.708 0 0);
59
+ --accent: oklch(0.9714 0.0136 46.23);
60
+ --accent-foreground: oklch(0.6769 0.1781 44.42);
61
+ --destructive: oklch(0.704 0.191 22.216);
62
+
63
+ --ring: oklch(0.6769 0.1781 44.42);
64
+ --border: oklch(1 0 0 / 10%);
65
+ --input: oklch(1 0 0 / 15%);
66
+
67
+ --popover: oklch(0.269 0 0);
68
+ --popover-foreground: oklch(0.985 0 0);
69
+ }
@@ -0,0 +1,242 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, model, output, computed, effect, Directive } from '@angular/core';
3
+ import { up } from '@unipin/angular-applet/common';
4
+
5
+ class UpAccordionDirective {
6
+ constructor() {
7
+ this.dir = input('ltr', ...(ngDevMode ? [{ debugName: "dir" }] : []));
8
+ this.orientation = input('vertical', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
9
+ this.inlineClass = input('', ...(ngDevMode ? [{ debugName: "inlineClass", alias: 'class' }] : [{ alias: 'class' }]));
10
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
11
+ this.collapsible = input(false, ...(ngDevMode ? [{ debugName: "collapsible", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
12
+ this.type = model('single', ...(ngDevMode ? [{ debugName: "type" }] : []));
13
+ this.valueChange = output();
14
+ this.value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
15
+ this.defaultValue = model(...(ngDevMode ? [undefined, { debugName: "defaultValue" }] : []));
16
+ this._computedClass = computed(() => {
17
+ return up(`overflow-hidden`, this.orientation() === 'horizontal' ? 'w-fit' : 'h-fit', this.disabled() ? 'cursor-not-allowed opacity-50' : '', this.inlineClass());
18
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
19
+ effect(() => {
20
+ if (this.value()) {
21
+ this.valueChange.emit(this.value());
22
+ }
23
+ });
24
+ }
25
+ ngOnInit() {
26
+ const currentValue = this.value();
27
+ const defaultVal = this.defaultValue();
28
+ if ((currentValue === undefined ||
29
+ currentValue === null) &&
30
+ defaultVal !== undefined) {
31
+ this.value.set(defaultVal);
32
+ }
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: UpAccordionDirective, isStandalone: true, selector: "[upAccordion]", inputs: { dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { type: "typeChange", valueChange: "valueChange", value: "valueChange", defaultValue: "defaultValueChange" }, host: { properties: { "attr.dir": "dir()", "class": "_computedClass()" } }, exportAs: ["upAccordion"], ngImport: i0 }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ standalone: true,
41
+ exportAs: 'upAccordion',
42
+ selector: '[upAccordion]',
43
+ host: {
44
+ '[attr.dir]': 'dir()',
45
+ '[class]': '_computedClass()',
46
+ }
47
+ }]
48
+ }], ctorParameters: () => [], propDecorators: { dir: [{ type: i0.Input, args: [{ isSignal: true, alias: "dir", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], inlineClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }, { type: i0.Output, args: ["typeChange"] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }, { type: i0.Output, args: ["defaultValueChange"] }] } });
49
+
50
+ class UpAccordionItemDirective {
51
+ constructor(wrapper) {
52
+ this.wrapper = wrapper;
53
+ this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
54
+ this.isOpened = model(false, ...(ngDevMode ? [{ debugName: "isOpened" }] : []));
55
+ this.inlineClass = input('', ...(ngDevMode ? [{ debugName: "inlineClass", alias: 'class' }] : [{ alias: 'class' }]));
56
+ this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
57
+ this._computedClass = computed(() => {
58
+ const isHorizontal = this.wrapper.orientation() === 'horizontal';
59
+ return up(this.disabled() ? 'opacity-50' : '', isHorizontal ? 'flex flex-row h-auto w-fit' : 'flex flex-col', this.inlineClass());
60
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
61
+ effect(() => {
62
+ if (this.wrapper.type() === 'single') {
63
+ this.isOpened.set(this.wrapper.value() === this.value());
64
+ return;
65
+ }
66
+ const values = Array.isArray(this.wrapper.value()) ? this.wrapper.value() : (this.wrapper.value() ? [this.wrapper.value()] : []);
67
+ this.isOpened.set(values.includes(this.value()));
68
+ });
69
+ }
70
+ setOpen(value) {
71
+ if (this.disabled() ||
72
+ this.wrapper.disabled()) {
73
+ return;
74
+ }
75
+ if (this.wrapper.type() === 'multiple') {
76
+ const rawValue = this.wrapper.value();
77
+ const currentValues = Array.isArray(rawValue) ? [...rawValue] : (rawValue ? [rawValue] : []);
78
+ const itemValue = this.value();
79
+ if (value) {
80
+ if (!currentValues.includes(itemValue)) {
81
+ currentValues.push(itemValue);
82
+ }
83
+ this.wrapper.value.set(currentValues);
84
+ return;
85
+ }
86
+ if (!this.wrapper.collapsible()) {
87
+ return;
88
+ }
89
+ const nextValues = currentValues.filter(v => v !== itemValue);
90
+ this.wrapper.value.set(nextValues.length ? nextValues : undefined);
91
+ return;
92
+ }
93
+ if (value) {
94
+ this.wrapper.value.set(this.value());
95
+ return;
96
+ }
97
+ if (this.wrapper.collapsible()) {
98
+ this.wrapper.value.set(undefined);
99
+ return;
100
+ }
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionItemDirective, deps: [{ token: UpAccordionDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: UpAccordionItemDirective, isStandalone: true, selector: "[upAccordionItem]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, isOpened: { classPropertyName: "isOpened", publicName: "isOpened", isSignal: true, isRequired: false, transformFunction: null }, inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpened: "isOpenedChange" }, host: { properties: { "class": "_computedClass()", "attr.data-state": "isOpened()? 'open' : 'closed'" } }, exportAs: ["upAccordionItem"], ngImport: i0 }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionItemDirective, decorators: [{
106
+ type: Directive,
107
+ args: [{
108
+ standalone: true,
109
+ exportAs: 'upAccordionItem',
110
+ selector: '[upAccordionItem]',
111
+ host: {
112
+ '[class]': '_computedClass()',
113
+ '[attr.data-state]': `isOpened()? 'open' : 'closed'`
114
+ }
115
+ }]
116
+ }], ctorParameters: () => [{ type: UpAccordionDirective }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], isOpened: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpened", required: false }] }, { type: i0.Output, args: ["isOpenedChange"] }], inlineClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
117
+
118
+ class UpAccordionTriggerDirective {
119
+ constructor(item) {
120
+ this.item = item;
121
+ this.inlineClass = input('', ...(ngDevMode ? [{ debugName: "inlineClass", alias: 'class' }] : [{ alias: 'class' }]));
122
+ this._computedClass = computed(() => {
123
+ const isItemDisabled = this.item.disabled() || this.item.wrapper.disabled();
124
+ return up('w-full flex items-center justify-between text-left gap-4 cursor-pointer', isItemDisabled ? 'cursor-not-allowed' : '', this.item.wrapper.orientation() === 'horizontal' ? 'w-fit h-fit' : '', this.inlineClass());
125
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
126
+ }
127
+ toggleState() {
128
+ this.item.setOpen(!this.item.isOpened());
129
+ }
130
+ onKeyDown(event) {
131
+ if (this.item.disabled() ||
132
+ this.item.wrapper.disabled()) {
133
+ return;
134
+ }
135
+ event.preventDefault();
136
+ switch (event.key) {
137
+ case 'Enter':
138
+ case ' ':
139
+ this.toggleState();
140
+ break;
141
+ case 'ArrowDown':
142
+ this.focusNextItem();
143
+ break;
144
+ case 'ArrowUp':
145
+ this.focusPreviousItem();
146
+ break;
147
+ case 'Home':
148
+ this.focusFirstItem();
149
+ break;
150
+ case 'End':
151
+ this.focusLastItem();
152
+ break;
153
+ }
154
+ }
155
+ focusNextItem() {
156
+ const triggers = this.getAllTriggers();
157
+ const currentIndex = triggers.indexOf(document.activeElement);
158
+ if (currentIndex < triggers.length - 1) {
159
+ triggers[currentIndex + 1].focus();
160
+ }
161
+ }
162
+ focusPreviousItem() {
163
+ const triggers = this.getAllTriggers();
164
+ const currentIndex = triggers.indexOf(document.activeElement);
165
+ if (currentIndex > 0) {
166
+ triggers[currentIndex - 1].focus();
167
+ }
168
+ }
169
+ focusFirstItem() {
170
+ const triggers = this.getAllTriggers();
171
+ if (triggers.length > 0) {
172
+ triggers[0].focus();
173
+ }
174
+ }
175
+ focusLastItem() {
176
+ const triggers = this.getAllTriggers();
177
+ if (triggers.length > 0) {
178
+ triggers[triggers.length - 1].focus();
179
+ }
180
+ }
181
+ getAllTriggers() {
182
+ const accordionElement = document.activeElement?.closest('[upAccordion]');
183
+ if (!accordionElement) {
184
+ return [];
185
+ }
186
+ return Array.from(accordionElement.querySelectorAll('[upAccordionTrigger]'));
187
+ }
188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionTriggerDirective, deps: [{ token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
189
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: UpAccordionTriggerDirective, isStandalone: true, selector: "[upAccordionTrigger]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "toggleState()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "0", "attr.role": "'button'", "class": "_computedClass()", "attr.aria-expanded": "this.item.isOpened()", "attr.disabled": "this.item.disabled() || null", "attr.data-state": "this.item.isOpened()? 'open' : 'closed'", "attr.aria-disabled": "this.item.disabled() || this.item.wrapper.disabled() || null", "style.writing-mode": "this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''" } }, ngImport: i0 }); }
190
+ }
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionTriggerDirective, decorators: [{
192
+ type: Directive,
193
+ args: [{
194
+ standalone: true,
195
+ selector: '[upAccordionTrigger]',
196
+ host: {
197
+ '[attr.tabindex]': '0',
198
+ '[attr.role]': `'button'`,
199
+ '[class]': '_computedClass()',
200
+ '[attr.aria-expanded]': 'this.item.isOpened()',
201
+ '[attr.disabled]': 'this.item.disabled() || null',
202
+ '[attr.data-state]': `this.item.isOpened()? 'open' : 'closed'`,
203
+ '[attr.aria-disabled]': 'this.item.disabled() || this.item.wrapper.disabled() || null',
204
+ '[style.writing-mode]': `this.item.wrapper.orientation() === 'horizontal'? 'sideways-lr' : ''`,
205
+ '(click)': 'toggleState()',
206
+ '(keydown)': 'onKeyDown($event)',
207
+ }
208
+ }]
209
+ }], ctorParameters: () => [{ type: UpAccordionItemDirective }], propDecorators: { inlineClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
210
+
211
+ class UpAccordionContentDirective {
212
+ constructor(item) {
213
+ this.item = item;
214
+ this.inlineClass = input('', ...(ngDevMode ? [{ debugName: "inlineClass", alias: 'class' }] : [{ alias: 'class' }]));
215
+ this._computedClass = computed(() => {
216
+ const isOpened = this.item.isOpened();
217
+ const isDisabled = this.item.disabled() || this.item.wrapper.disabled();
218
+ const isHorizontal = this.item.wrapper.orientation() === 'horizontal';
219
+ return up(`overflow-hidden transition-all`, isDisabled ? 'text-gray-400' : '', isHorizontal ? (isOpened ? 'w-full opacity-100' : 'max-w-0 opacity-0 text-nowrap') : (isOpened ? 'h-auto opacity-100' : 'max-h-0 opacity-0'), this.inlineClass());
220
+ }, ...(ngDevMode ? [{ debugName: "_computedClass" }] : []));
221
+ }
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionContentDirective, deps: [{ token: UpAccordionItemDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
223
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.0", type: UpAccordionContentDirective, isStandalone: true, selector: "[upAccordionContent]", inputs: { inlineClass: { classPropertyName: "inlineClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "_computedClass()" } }, exportAs: ["upAccordionContent"], ngImport: i0 }); }
224
+ }
225
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.0", ngImport: i0, type: UpAccordionContentDirective, decorators: [{
226
+ type: Directive,
227
+ args: [{
228
+ standalone: true,
229
+ exportAs: 'upAccordionContent',
230
+ selector: '[upAccordionContent]',
231
+ host: {
232
+ '[class]': '_computedClass()',
233
+ },
234
+ }]
235
+ }], ctorParameters: () => [{ type: UpAccordionItemDirective }], propDecorators: { inlineClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
236
+
237
+ /**
238
+ * Generated bundle index. Do not edit.
239
+ */
240
+
241
+ export { UpAccordionContentDirective, UpAccordionDirective, UpAccordionItemDirective, UpAccordionTriggerDirective };
242
+ //# sourceMappingURL=unipin-angular-applet-accordion.mjs.map