tailjng 0.1.6 → 0.1.7

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 (176) hide show
  1. package/README.md +12 -4
  2. package/cli/execute/init-app.js +5 -2
  3. package/cli/execute/sync-app.js +14 -2
  4. package/cli/settings/colors-config-utils.js +43 -8
  5. package/cli/settings/icons-config-utils.js +62 -0
  6. package/cli/settings/path-utils.js +32 -2
  7. package/cli/settings/project-utils.js +7 -1
  8. package/cli/templates/app.generator.js +2 -2
  9. package/fesm2022/tailjng.mjs +247 -80
  10. package/fesm2022/tailjng.mjs.map +1 -1
  11. package/lib/services/static/theme.service.d.ts +39 -1
  12. package/lib/utils/theme/theme-variables.util.d.ts +31 -0
  13. package/package.json +1 -1
  14. package/public-api.d.ts +2 -1
  15. package/registry/components.json +41 -18
  16. package/src/colors.safelist.css +2 -2
  17. package/src/lib/components/.config/README.md +11 -0
  18. package/src/lib/components/.config/colors/README.md +38 -0
  19. package/src/lib/components/{colors-config → .config/colors}/colors.config.ts +5 -5
  20. package/src/lib/components/{colors-config → .config/colors}/colors.safelist.css +2 -2
  21. package/src/lib/components/.config/icons/README.md +26 -0
  22. package/src/lib/components/.config/icons/icons.lucide.ts +134 -0
  23. package/src/lib/components/.config/input/README.md +24 -0
  24. package/src/lib/components/.config/input/input.classes.ts +119 -0
  25. package/src/lib/components/alert/alert-dialog/dialog-alert.component.css +244 -2
  26. package/src/lib/components/alert/alert-dialog/dialog-alert.component.html +25 -38
  27. package/src/lib/components/alert/alert-dialog/dialog-alert.component.ts +66 -56
  28. package/src/lib/components/alert/alert-dialog/dialog-alert.types.ts +19 -0
  29. package/src/lib/components/alert/alert-toast/toast-alert.component.css +630 -12
  30. package/src/lib/components/alert/alert-toast/toast-alert.component.html +103 -102
  31. package/src/lib/components/alert/alert-toast/toast-alert.component.ts +485 -128
  32. package/src/lib/components/alert/alert-toast/toast-alert.types.ts +25 -0
  33. package/src/lib/components/badge/badge.component.html +34 -21
  34. package/src/lib/components/badge/badge.component.ts +140 -31
  35. package/src/lib/components/button/button.component.html +16 -10
  36. package/src/lib/components/button/button.component.ts +162 -22
  37. package/src/lib/components/card/card-complete/complete-card.component.html +2 -2
  38. package/src/lib/components/card/card-complete/complete-card.component.ts +26 -16
  39. package/src/lib/components/card/card-crud-complete/complete-crud-card.component.html +2 -2
  40. package/src/lib/components/card/card-crud-complete/complete-crud-card.component.ts +26 -16
  41. package/src/lib/components/checkbox/checkbox-input/input-checkbox.component.css +97 -0
  42. package/src/lib/components/checkbox/checkbox-input/input-checkbox.component.html +54 -46
  43. package/src/lib/components/checkbox/checkbox-input/input-checkbox.component.ts +135 -64
  44. package/src/lib/components/checkbox/checkbox-input/input-checkbox.types.ts +3 -0
  45. package/src/lib/components/checkbox/checkbox-switch/switch-checkbox.component.css +112 -0
  46. package/src/lib/components/checkbox/checkbox-switch/switch-checkbox.component.html +28 -25
  47. package/src/lib/components/checkbox/checkbox-switch/switch-checkbox.component.ts +67 -15
  48. package/src/lib/components/checkbox/checkbox-switch/switch-checkbox.types.ts +1 -0
  49. package/src/lib/components/coach-mark/coach-mark.component.html +4 -22
  50. package/src/lib/components/coach-mark/coach-mark.component.scss +1 -1
  51. package/src/lib/components/coach-mark/coach-mark.component.ts +51 -18
  52. package/src/lib/components/coach-mark/coach-mark.directive.ts +133 -78
  53. package/src/lib/components/coach-mark/coach-mark.types.ts +12 -0
  54. package/src/lib/components/dialog/dialog.component.css +103 -1
  55. package/src/lib/components/dialog/dialog.component.html +46 -66
  56. package/src/lib/components/dialog/dialog.component.ts +136 -110
  57. package/src/lib/components/dialog/dialog.types.ts +19 -0
  58. package/src/lib/components/filter/filter-complete/complete-filter.component.html +16 -19
  59. package/src/lib/components/filter/filter-complete/complete-filter.component.scss +35 -0
  60. package/src/lib/components/filter/filter-complete/complete-filter.component.ts +58 -34
  61. package/src/lib/components/filter/filter-complete/complete-filter.types.ts +7 -0
  62. package/src/lib/components/filter/filter-complete/complete-filter.util.ts +16 -0
  63. package/src/lib/components/form/form-container/container-form.component.css +4 -0
  64. package/src/lib/components/form/form-container/container-form.component.html +2 -2
  65. package/src/lib/components/form/form-container/container-form.component.ts +72 -16
  66. package/src/lib/components/form/form-container/container-form.types.ts +42 -0
  67. package/src/lib/components/form/form-container/form-col-span.directive.ts +25 -0
  68. package/src/lib/components/form/form-sidebar/sidebar-form.component.css +276 -0
  69. package/src/lib/components/form/form-sidebar/sidebar-form.component.html +117 -125
  70. package/src/lib/components/form/form-sidebar/sidebar-form.component.ts +109 -34
  71. package/src/lib/components/form/form-sidebar/sidebar-form.types.ts +3 -0
  72. package/src/lib/components/{toggle-radio/toggle-radio.component.css → form/form-validation/validation-form.component.css} +0 -1
  73. package/src/lib/components/form/form-validation/validation-form.component.html +10 -6
  74. package/src/lib/components/form/form-validation/validation-form.component.ts +99 -12
  75. package/src/lib/components/form/form-validation/validation-form.types.ts +33 -0
  76. package/src/lib/components/icon/icon.component.html +8 -5
  77. package/src/lib/components/icon/icon.component.ts +111 -9
  78. package/src/lib/components/input/input/input.component.html +19 -16
  79. package/src/lib/components/input/input/input.component.ts +130 -53
  80. package/src/lib/components/input/input/input.types.ts +8 -0
  81. package/src/lib/components/input/input-file/file-input.component.html +65 -56
  82. package/src/lib/components/input/input-file/file-input.component.ts +276 -173
  83. package/src/lib/components/input/input-file/file-input.types.ts +2 -0
  84. package/src/lib/components/input/input-range/range-input.component.css +67 -0
  85. package/src/lib/components/input/input-range/range-input.component.html +50 -58
  86. package/src/lib/components/input/input-range/range-input.component.ts +148 -60
  87. package/src/lib/components/input/input-range/range-input.types.ts +7 -0
  88. package/src/lib/components/input/input-textarea/textarea-input.component.html +16 -7
  89. package/src/lib/components/input/input-textarea/textarea-input.component.ts +140 -50
  90. package/src/lib/components/input/input-textarea/textarea-input.types.ts +2 -0
  91. package/src/lib/components/label/label.component.html +17 -16
  92. package/src/lib/components/label/label.component.ts +70 -16
  93. package/src/lib/components/label/label.types.ts +2 -0
  94. package/src/lib/components/menu/menu-options-table/menu-options-defaults.ts +34 -0
  95. package/src/lib/components/menu/menu-options-table/options-table-menu.component.html +34 -20
  96. package/src/lib/components/menu/menu-options-table/options-table-menu.component.ts +211 -58
  97. package/src/lib/components/menu/menu-options-table/options-table-menu.types.ts +38 -0
  98. package/src/lib/components/menu/options-coach-menu/options-coach-menu.component.html +49 -52
  99. package/src/lib/components/menu/options-coach-menu/options-coach-menu.component.ts +112 -24
  100. package/src/lib/components/menu/options-coach-menu/options-coach-menu.types.ts +9 -0
  101. package/src/lib/components/mode-toggle/mode-toggle.component.html +11 -16
  102. package/src/lib/components/mode-toggle/mode-toggle.component.ts +69 -33
  103. package/src/lib/components/paginator/paginator-complete/complete-paginator.component.html +4 -4
  104. package/src/lib/components/paginator/paginator-complete/complete-paginator.component.ts +31 -7
  105. package/src/lib/components/paginator/paginator-complete/complete-paginator.types.ts +12 -0
  106. package/src/lib/components/paginator/paginator-complete/complete-paginator.util.ts +36 -0
  107. package/src/lib/components/progress-bar/progress-bar.component.css +11 -0
  108. package/src/lib/components/progress-bar/progress-bar.component.html +41 -40
  109. package/src/lib/components/progress-bar/progress-bar.component.ts +95 -11
  110. package/src/lib/components/progress-bar/progress-bar.types.ts +2 -0
  111. package/src/lib/components/select/select-dropdown/dropdown-select.component.css +6 -0
  112. package/src/lib/components/select/select-dropdown/dropdown-select.component.html +54 -44
  113. package/src/lib/components/select/select-dropdown/dropdown-select.component.ts +450 -509
  114. package/src/lib/components/select/select-dropdown/dropdown-select.types.ts +43 -0
  115. package/src/lib/components/select/select-dropdown/dropdown-select.util.ts +179 -0
  116. package/src/lib/components/select/select-multi-dropdown/multi-dropdown-select.component.css +6 -0
  117. package/src/lib/components/select/select-multi-dropdown/multi-dropdown-select.component.html +131 -42
  118. package/src/lib/components/select/select-multi-dropdown/multi-dropdown-select.component.ts +491 -475
  119. package/src/lib/components/select/select-multi-dropdown/multi-dropdown-select.types.ts +22 -0
  120. package/src/lib/components/select/select-multi-dropdown/multi-dropdown-select.util.ts +20 -0
  121. package/src/lib/components/select/select-multi-table/multi-table-select.component.css +10 -0
  122. package/src/lib/components/select/select-multi-table/multi-table-select.component.html +76 -60
  123. package/src/lib/components/select/select-multi-table/multi-table-select.component.ts +250 -313
  124. package/src/lib/components/select/select-multi-table/multi-table-select.types.ts +10 -0
  125. package/src/lib/components/select/select-multi-table/multi-table-select.util.ts +5 -0
  126. package/src/lib/components/sidebar/sidebar-static/static-sidebar.component.css +212 -0
  127. package/src/lib/components/sidebar/sidebar-static/static-sidebar.component.html +62 -53
  128. package/src/lib/components/sidebar/sidebar-static/static-sidebar.component.ts +84 -27
  129. package/src/lib/components/sidebar/sidebar-static/static-sidebar.types.ts +2 -0
  130. package/src/lib/components/table/table-complete/complete-table.component.html +15 -17
  131. package/src/lib/components/table/table-complete/complete-table.component.ts +190 -338
  132. package/src/lib/components/table/table-complete/complete-table.types.ts +28 -0
  133. package/src/lib/components/table/table-complete/complete-table.util.ts +236 -0
  134. package/src/lib/components/table/table-complete/index.ts +2 -0
  135. package/src/lib/components/table/table-crud-complete/complete-crud-table.animations.ts +34 -0
  136. package/src/lib/components/table/table-crud-complete/complete-crud-table.component.html +73 -128
  137. package/src/lib/components/table/table-crud-complete/complete-crud-table.component.ts +542 -829
  138. package/src/lib/components/table/table-crud-complete/complete-crud-table.types.ts +57 -0
  139. package/src/lib/components/table/table-crud-complete/complete-crud-table.util.ts +723 -0
  140. package/src/lib/components/table/table-crud-complete/index.ts +3 -0
  141. package/src/lib/components/theme-generator/theme-generator.component.css +21 -0
  142. package/src/lib/components/theme-generator/theme-generator.component.html +146 -116
  143. package/src/lib/components/theme-generator/theme-generator.component.ts +44 -24
  144. package/src/lib/components/toggle-radio/shared/toggle-options.types.ts +8 -0
  145. package/src/lib/components/toggle-radio/shared/toggle-options.util.ts +44 -0
  146. package/src/lib/components/toggle-radio/toggle-radio/toggle-radio.component.css +135 -0
  147. package/src/lib/components/toggle-radio/toggle-radio/toggle-radio.component.html +52 -0
  148. package/src/lib/components/toggle-radio/toggle-radio/toggle-radio.component.ts +198 -0
  149. package/src/lib/components/toggle-radio/toggle-radio/toggle-radio.types.ts +1 -0
  150. package/src/lib/components/toggle-radio/toggle-segment/segment-toggle.component.css +108 -0
  151. package/src/lib/components/toggle-radio/toggle-segment/segment-toggle.component.html +37 -0
  152. package/src/lib/components/toggle-radio/toggle-segment/segment-toggle.component.ts +193 -0
  153. package/src/lib/components/toggle-radio/toggle-segment/segment-toggle.types.ts +1 -0
  154. package/src/lib/components/tooltip/tooltip.directive.ts +12 -9
  155. package/src/lib/components/tooltip/tooltip.service.ts +331 -133
  156. package/src/lib/components/tooltip/tooltip.types.ts +9 -0
  157. package/src/lib/components/viewer/viewer-image/image-viewer.component.css +90 -4
  158. package/src/lib/components/viewer/viewer-image/image-viewer.component.html +52 -103
  159. package/src/lib/components/viewer/viewer-image/image-viewer.component.ts +182 -177
  160. package/src/lib/components/viewer/viewer-image/image-viewer.types.ts +3 -0
  161. package/src/lib/components/viewer/viewer-pdf/pdf-viewer.component.css +177 -0
  162. package/src/lib/components/viewer/viewer-pdf/pdf-viewer.component.html +74 -24
  163. package/src/lib/components/viewer/viewer-pdf/pdf-viewer.component.ts +168 -15
  164. package/src/lib/components/viewer/viewer-pdf/pdf-viewer.types.ts +1 -0
  165. package/src/styles.css +2 -2
  166. package/lib/services/static/icons.service.d.ts +0 -65
  167. package/src/lib/components/colors-config/README.md +0 -38
  168. package/src/lib/components/form/form-sidebar/sidebar-form.component.scss +0 -0
  169. package/src/lib/components/form/form-validation/validation-form.component.scss +0 -0
  170. package/src/lib/components/menu/menu-options-table/options-table-menu.component.scss +0 -0
  171. package/src/lib/components/menu/options-coach-menu/options-coach-menu.component.scss +0 -12
  172. package/src/lib/components/sidebar/sidebar-static/static-sidebar.component.scss +0 -0
  173. package/src/lib/components/toggle-radio/toggle-radio.component.html +0 -51
  174. package/src/lib/components/toggle-radio/toggle-radio.component.ts +0 -222
  175. package/src/lib/components/viewer/viewer-pdf/pdf-viewer.component.scss +0 -0
  176. package/tailjng-0.1.6.tgz +0 -0
@@ -1,119 +1,120 @@
1
- <div [ngClass]="getPositionClass()">
2
- @for (toast of toasts(); track toast.id) {
1
+ <div
2
+ [ngClass]="stackClasses()"
3
+ [ngStyle]="stackStyle()"
4
+ (mouseenter)="onStackEnter()"
5
+ (mouseleave)="onStackLeave()"
6
+ >
7
+ @if (stackable && toasts().length > 1 && !expanded) {
8
+ <span class="j-alert-toast-stack-hint" aria-hidden="true">
9
+ {{ toasts().length }}
10
+ </span>
11
+ }
12
+
13
+ <div
14
+ class="j-alert-toast-scroll-shell"
15
+ [class.j-alert-toast-scroll-shell--expanded]="stackable && toasts().length > 1 && expanded"
16
+ >
3
17
  <div
4
- @toastTransition
5
- class="j-toast group relative ml-auto w-full overflow-hidden rounded-xl border border-border/40 dark:border-dark-border/40 backdrop-blur-xl shadow-lg shadow-black/5 dark:shadow-black/40 pointer-events-auto"
6
- [ngClass]="getToastSurfaceClass(toast.config.type)"
7
- role="alert"
8
- aria-live="polite"
18
+ #stackInner
19
+ [ngClass]="innerClasses()"
20
+ [ngStyle]="scrollFadeStyle()"
21
+ (scroll)="onStackScroll()"
22
+ (transitionend)="onInnerTransitionEnd($event)"
9
23
  >
24
+ @for (toast of displayToasts(); track toast.id) {
10
25
  <div
11
- class="absolute left-0 top-0 w-1 z-[1]"
12
- [ngClass]="getAccentBarClass(toast.config.type)"
13
- [class.bottom-0]="!hasAutoClose(toast)"
14
- [class.bottom-1]="hasAutoClose(toast)"
15
- ></div>
16
-
17
- <!-- Icono decorativo grande -->
18
- <div
19
- class="j-toast-watermark j-toast-watermark--lg absolute -bottom-8 -left-5 z-0 pointer-events-none select-none"
20
- [ngClass]="{ 'animate-spin': toast.config.type === 'loading' }"
26
+ @toastTransition
27
+ class="j-alert-toast-card"
28
+ [ngClass]="cardClasses(toast.config.type, toastIndex(toast), toasts().length)"
29
+ [ngStyle]="cardAnchorStyle(toastIndex(toast), toasts().length)"
30
+ [style.z-index]="cardZIndex(toastIndex(toast), toasts().length)"
31
+ role="alert"
32
+ aria-live="polite"
21
33
  >
22
- <lucide-icon
23
- [name]="getIcon(toast.config.type)"
24
- [size]="104"
25
- [ngClass]="getWatermarkIconClass(toast.config.type)"
26
- ></lucide-icon>
27
- </div>
34
+ <div [ngClass]="accentBarClasses(toast)"></div>
28
35
 
29
- <!-- Icono decorativo pequeño -->
30
- <div
31
- class="j-toast-watermark j-toast-watermark--sm absolute top-2 z-0 pointer-events-none select-none"
32
- [class.right-9]="toast.btnClose"
33
- [class.right-3]="!toast.btnClose"
34
- [ngClass]="{ 'animate-spin': toast.config.type === 'loading' }"
35
- >
36
- <lucide-icon
37
- [name]="getIcon(toast.config.type)"
38
- [size]="32"
39
- [ngClass]="getWatermarkIconClass(toast.config.type, true)"
40
- ></lucide-icon>
41
- </div>
42
-
43
- <!-- Texto -->
44
- <div
45
- class="relative z-10 pl-5 pr-4 pt-3.5"
46
- [class.pr-10]="toast.btnClose"
47
- [class.pb-2]="hasActions(toast)"
48
- [class.pb-3.5]="!hasActions(toast) && !hasAutoClose(toast)"
49
- [class.pb-4]="!hasActions(toast) && hasAutoClose(toast)"
50
- >
51
- <h3 class="m-0 text-sm font-semibold leading-tight text-foreground dark:text-white">
52
- {{ toast.config.title }}
53
- </h3>
36
+ <div [ngClass]="watermarkClasses(toast.config.type)">
37
+ <JIcon
38
+ [icon]="typeIcon(toast.config.type)"
39
+ [size]="104"
40
+ [inheritParentColor]="true"
41
+ [ariaHidden]="true"
42
+ />
43
+ </div>
54
44
 
55
- @if (toast.config.description) {
56
- <p
57
- class="m-0 mt-1 text-xs leading-relaxed text-muted-foreground dark:text-dark-muted-foreground [&_b]:font-semibold [&_b]:text-foreground dark:[&_b]:text-white"
58
- [innerHTML]="toast.config.description"
59
- ></p>
60
- }
45
+ <div [ngClass]="watermarkSmClasses(toast)">
46
+ <JIcon
47
+ [icon]="typeIcon(toast.config.type)"
48
+ [size]="32"
49
+ [inheritParentColor]="true"
50
+ [ariaHidden]="true"
51
+ />
52
+ </div>
61
53
 
62
- @if (toast.btnClose) {
63
- <button
64
- type="button"
65
- class="absolute top-2.5 right-2.5 z-20 flex h-7 w-7 items-center justify-center rounded-lg transition-all duration-200 hover:bg-black/5 dark:hover:bg-white/10 cursor-pointer"
66
- [ngClass]="getIconClass(toast.config.type)"
67
- [attr.aria-label]="'Cerrar notificación'"
68
- (click)="closeToast(toast.id)"
69
- >
70
- <lucide-icon [name]="iconsService.icons.close" [size]="15"></lucide-icon>
71
- </button>
72
- }
73
- </div>
54
+ <div [ngClass]="bodyClasses(toast)">
55
+ <h3 class="j-alert-toast-title">{{ toast.config.title }}</h3>
74
56
 
75
- <!-- Acciones: alineadas a la card, no al bloque de texto -->
76
- @if (hasActions(toast)) {
77
- <div
78
- class="relative z-10 flex flex-wrap justify-end gap-1.5 pl-5 pr-4"
79
- [class.pb-3.5]="!hasAutoClose(toast)"
80
- [class.pb-4]="hasAutoClose(toast)"
81
- >
82
- @if (toast.config.type !== 'success' && toast.onCancelCallback) {
83
- <JButton
84
- size="xs"
85
- (clicked)="handleAction(toast.id, 'cancel')"
86
- [disabled]="toast.isCancelLoading || toast.isActionLoading"
87
- [isLoading]="toast.isCancelLoading"
88
- [ngClasses]="getButtonSecondaryClass(toast.config.type)"
89
- >
90
- {{ toast.config.titleBtnCancel || 'Cancelar' }}
91
- </JButton>
57
+ @if (toast.config.description) {
58
+ <p
59
+ class="j-alert-toast-description"
60
+ [innerHTML]="toast.config.description"
61
+ ></p>
92
62
  }
93
63
 
94
- @if (toast.config.type !== 'loading' && toast.onActionCallback) {
95
- <JButton
96
- size="xs"
97
- (clicked)="handleAction(toast.id, 'action')"
98
- [disabled]="toast.isCancelLoading || toast.isActionLoading"
99
- [isLoading]="toast.isActionLoading"
100
- [ngClasses]="getButtonClass(toast.config.type)"
64
+ @if (toast.btnClose) {
65
+ <button
66
+ type="button"
67
+ class="j-alert-toast-close"
68
+ aria-label="Cerrar notificación"
69
+ (click)="closeToast(toast.id)"
101
70
  >
102
- {{ toast.actionNameButton }}
103
- </JButton>
71
+ <JIcon [icon]="Icons.X" [size]="15" [inheritParentColor]="true" [ariaHidden]="true" />
72
+ </button>
104
73
  }
105
74
  </div>
106
- }
107
75
 
108
- @if (hasAutoClose(toast)) {
109
- <div class="j-toast-timeline absolute inset-x-0 bottom-0 z-20 h-1 bg-black/5 dark:bg-white/10">
76
+ @if (hasActions(toast)) {
110
77
  <div
111
- class="j-toast-progress h-full origin-left"
112
- [ngClass]="getAccentBarClass(toast.config.type)"
113
- [style.animation-duration.ms]="getAutoCloseDelay(toast)"
114
- ></div>
115
- </div>
116
- }
78
+ class="j-alert-toast-actions"
79
+ [class.j-alert-toast-actions--with-timeline]="hasAutoClose(toast)"
80
+ >
81
+ @if (toast.config.type !== 'success' && toast.onCancelCallback) {
82
+ <JButton
83
+ size="xs"
84
+ (clicked)="handleAction(toast.id, 'cancel')"
85
+ [disabled]="isActionDisabled(toast)"
86
+ [isLoading]="toast.isCancelLoading"
87
+ [ngClasses]="getButtonSecondaryClass(toast.config.type)"
88
+ >
89
+ {{ toast.config.titleBtnCancel || 'Cancelar' }}
90
+ </JButton>
91
+ }
92
+
93
+ @if (toast.config.type !== 'loading' && toast.onActionCallback) {
94
+ <JButton
95
+ size="xs"
96
+ (clicked)="handleAction(toast.id, 'action')"
97
+ [disabled]="isActionDisabled(toast)"
98
+ [isLoading]="toast.isActionLoading"
99
+ [ngClasses]="getButtonClass(toast.config.type)"
100
+ >
101
+ {{ toast.actionNameButton }}
102
+ </JButton>
103
+ }
104
+ </div>
105
+ }
106
+
107
+ @if (hasAutoClose(toast)) {
108
+ <div class="j-alert-toast-timeline">
109
+ <div
110
+ class="j-alert-toast-progress"
111
+ [ngClass]="progressClasses(toast.config.type)"
112
+ [ngStyle]="progressStyle(toast)"
113
+ ></div>
114
+ </div>
115
+ }
116
+ </div>
117
+ }
117
118
  </div>
118
- }
119
+ </div>
119
120
  </div>