@educarehq/solaris-ui 0.2.0 → 0.3.0

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 (225) hide show
  1. package/esm2022/index.js +40 -1
  2. package/esm2022/index.js.map +1 -1
  3. package/esm2022/lib/components/actions/button/index.js +3 -0
  4. package/esm2022/lib/components/actions/button/index.js.map +1 -0
  5. package/esm2022/lib/components/data-display/badge/index.js +3 -0
  6. package/esm2022/lib/components/data-display/badge/index.js.map +1 -0
  7. package/esm2022/lib/components/data-display/divider/component/divider.component.js +46 -0
  8. package/esm2022/lib/components/data-display/divider/component/divider.component.js.map +1 -0
  9. package/esm2022/lib/components/data-display/divider/index.js +2 -0
  10. package/esm2022/lib/components/data-display/divider/index.js.map +1 -0
  11. package/esm2022/lib/components/data-display/divider/model/divider.types.js +1 -0
  12. package/esm2022/lib/components/data-display/divider/model/divider.types.js.map +1 -0
  13. package/esm2022/lib/components/feedback/toast/component/toast.component.js +268 -0
  14. package/esm2022/lib/components/feedback/toast/component/toast.component.js.map +1 -0
  15. package/esm2022/lib/components/feedback/toast/container/toast-container.component.js +24 -0
  16. package/esm2022/lib/components/feedback/toast/container/toast-container.component.js.map +1 -0
  17. package/esm2022/lib/components/feedback/toast/model/toast.types.js +1 -0
  18. package/esm2022/lib/components/feedback/toast/model/toast.types.js.map +1 -0
  19. package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js +17 -0
  20. package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js.map +1 -0
  21. package/esm2022/lib/components/feedback/toast/service/toast.service.js +219 -0
  22. package/esm2022/lib/components/feedback/toast/service/toast.service.js.map +1 -0
  23. package/esm2022/lib/components/feedback/toast/token/toast.tokens.js +13 -0
  24. package/esm2022/lib/components/feedback/toast/token/toast.tokens.js.map +1 -0
  25. package/esm2022/lib/components/forms/email-field/component/email-field.component.js +5 -4
  26. package/esm2022/lib/components/forms/email-field/component/email-field.component.js.map +1 -1
  27. package/esm2022/lib/components/forms/form-field/component/form-field.component.js +50 -2
  28. package/esm2022/lib/components/forms/form-field/component/form-field.component.js.map +1 -1
  29. package/esm2022/lib/components/forms/form-field/directives/form-field-trigger.directive.js.map +1 -1
  30. package/esm2022/lib/components/forms/form-field/index.js.map +1 -1
  31. package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js +11 -28
  32. package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js.map +1 -1
  33. package/esm2022/lib/components/forms/multi-select/model/multi-select.types.js.map +1 -1
  34. package/esm2022/lib/components/forms/option/component/option.component.js +2 -2
  35. package/esm2022/lib/components/forms/option/component/option.component.js.map +1 -1
  36. package/esm2022/lib/components/forms/password-field/component/password-field.component.js +2 -2
  37. package/esm2022/lib/components/forms/password-field/component/password-field.component.js.map +1 -1
  38. package/esm2022/lib/components/forms/radio/component/radio.component.js +2 -2
  39. package/esm2022/lib/components/forms/select/component/select.component.js +4 -8
  40. package/esm2022/lib/components/forms/select/component/select.component.js.map +1 -1
  41. package/esm2022/lib/components/icon/component/solaris-icon.component.js +2 -2
  42. package/esm2022/lib/components/icon/component/solaris-icon.component.js.map +1 -1
  43. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js +27 -0
  44. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js.map +1 -0
  45. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js +96 -0
  46. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js.map +1 -0
  47. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js +22 -0
  48. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js.map +1 -0
  49. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js +105 -0
  50. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js.map +1 -0
  51. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js +95 -0
  52. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js.map +1 -0
  53. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js +631 -0
  54. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js.map +1 -0
  55. package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js +365 -0
  56. package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js.map +1 -0
  57. package/esm2022/lib/components/interaction/dropdown-menu/index.js +8 -0
  58. package/esm2022/lib/components/interaction/dropdown-menu/index.js.map +1 -0
  59. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js +3 -0
  60. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js.map +1 -0
  61. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js +1 -0
  62. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js.map +1 -0
  63. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js +1 -0
  64. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js.map +1 -0
  65. package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js +2 -2
  66. package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js.map +1 -1
  67. package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js +28 -20
  68. package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js.map +1 -1
  69. package/esm2022/lib/components/interaction/tooltip/component/tooltip-panel.component.js.map +1 -1
  70. package/esm2022/lib/components/interaction/tooltip/directive/tooltip.directive.js.map +1 -1
  71. package/esm2022/lib/components/interaction/tooltip/model/tooltip-position.js.map +1 -1
  72. package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js +323 -0
  73. package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js.map +1 -0
  74. package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js +34 -0
  75. package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js.map +1 -0
  76. package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js +1 -0
  77. package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js.map +1 -0
  78. package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js +242 -0
  79. package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js.map +1 -0
  80. package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js +197 -0
  81. package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js.map +1 -0
  82. package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js +1 -0
  83. package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js.map +1 -0
  84. package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js +3 -0
  85. package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js.map +1 -0
  86. package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js +15 -0
  87. package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js.map +1 -0
  88. package/esm2022/lib/components/navigation/stepper/component/stepper.component.js +99 -0
  89. package/esm2022/lib/components/navigation/stepper/component/stepper.component.js.map +1 -0
  90. package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js +13 -0
  91. package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js.map +1 -0
  92. package/esm2022/lib/components/navigation/stepper/model/stepper.types.js +1 -0
  93. package/esm2022/lib/components/navigation/stepper/model/stepper.types.js.map +1 -0
  94. package/esm2022/lib/components/navigation/stepper/step/step.component.js +91 -0
  95. package/esm2022/lib/components/navigation/stepper/step/step.component.js.map +1 -0
  96. package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js +3 -0
  97. package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js.map +1 -0
  98. package/esm2022/lib/components/navigation/tabs/component/tabs.component.js +169 -0
  99. package/esm2022/lib/components/navigation/tabs/component/tabs.component.js.map +1 -0
  100. package/esm2022/lib/components/navigation/tabs/index.js +5 -0
  101. package/esm2022/lib/components/navigation/tabs/index.js.map +1 -0
  102. package/esm2022/lib/components/navigation/tabs/model/tabs.types.js +1 -0
  103. package/esm2022/lib/components/navigation/tabs/model/tabs.types.js.map +1 -0
  104. package/esm2022/lib/components/navigation/tabs/tab/tab.component.js +195 -0
  105. package/esm2022/lib/components/navigation/tabs/tab/tab.component.js.map +1 -0
  106. package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js +55 -0
  107. package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js.map +1 -0
  108. package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js +3 -0
  109. package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js.map +1 -0
  110. package/esm2022/lib/components/overlay/dialog/component/dialog.component.js +49 -0
  111. package/esm2022/lib/components/overlay/dialog/component/dialog.component.js.map +1 -0
  112. package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js +37 -0
  113. package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js.map +1 -0
  114. package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js +13 -0
  115. package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js.map +1 -0
  116. package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js +32 -0
  117. package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js.map +1 -0
  118. package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js +142 -0
  119. package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js.map +1 -0
  120. package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js +56 -0
  121. package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js.map +1 -0
  122. package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js +20 -0
  123. package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js.map +1 -0
  124. package/esm2022/lib/components/overlay/dialog/model/dialog.types.js +1 -0
  125. package/esm2022/lib/components/overlay/dialog/model/dialog.types.js.map +1 -0
  126. package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js +13 -0
  127. package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js.map +1 -0
  128. package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js +23 -0
  129. package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js.map +1 -0
  130. package/esm2022/lib/components/overlay/dialog/service/dialog.service.js +111 -0
  131. package/esm2022/lib/components/overlay/dialog/service/dialog.service.js.map +1 -0
  132. package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js +4 -0
  133. package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js.map +1 -0
  134. package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js +15 -0
  135. package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js.map +1 -0
  136. package/esm2022/lib/services/icon/icons/groups/actions.js +242 -0
  137. package/esm2022/lib/services/icon/icons/groups/actions.js.map +1 -0
  138. package/esm2022/lib/services/icon/icons/groups/data.js +129 -0
  139. package/esm2022/lib/services/icon/icons/groups/data.js.map +1 -0
  140. package/esm2022/lib/services/icon/icons/groups/layout.js +50 -0
  141. package/esm2022/lib/services/icon/icons/groups/layout.js.map +1 -0
  142. package/esm2022/lib/services/icon/icons/groups/navigation.js +354 -0
  143. package/esm2022/lib/services/icon/icons/groups/navigation.js.map +1 -0
  144. package/esm2022/lib/services/icon/icons/groups/status.js +70 -0
  145. package/esm2022/lib/services/icon/icons/groups/status.js.map +1 -0
  146. package/esm2022/lib/services/icon/icons/groups/theme.js +49 -0
  147. package/esm2022/lib/services/icon/icons/groups/theme.js.map +1 -0
  148. package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js +12 -204
  149. package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js.map +1 -1
  150. package/esm2022/lib/services/icon/model/solaris-icon-definition.interface.js.map +1 -1
  151. package/esm2022/lib/services/icon/model/solaris-icon.types.js.map +1 -1
  152. package/esm2022/lib/services/translation/model/solaris-translate-defaults.js +56 -0
  153. package/esm2022/lib/services/translation/model/solaris-translate-defaults.js.map +1 -1
  154. package/index.d.ts +92 -1
  155. package/lib/components/actions/button/index.d.ts +3 -0
  156. package/lib/components/data-display/badge/index.d.ts +3 -0
  157. package/lib/components/data-display/divider/component/divider.component.d.ts +17 -0
  158. package/lib/components/data-display/divider/index.d.ts +2 -0
  159. package/lib/components/data-display/divider/model/divider.types.d.ts +5 -0
  160. package/lib/components/feedback/toast/component/toast.component.d.ts +62 -0
  161. package/lib/components/feedback/toast/container/toast-container.component.d.ts +10 -0
  162. package/lib/components/feedback/toast/model/toast.types.d.ts +106 -0
  163. package/lib/components/feedback/toast/provider/provide-solaris-toast.d.ts +3 -0
  164. package/lib/components/feedback/toast/service/toast.service.d.ts +36 -0
  165. package/lib/components/feedback/toast/token/toast.tokens.d.ts +5 -0
  166. package/lib/components/forms/email-field/component/email-field.component.d.ts +2 -1
  167. package/lib/components/forms/form-field/component/form-field.component.d.ts +6 -0
  168. package/lib/components/forms/multi-select/component/multi-select.component.d.ts +4 -7
  169. package/lib/components/forms/select/component/select.component.d.ts +2 -2
  170. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.d.ts +10 -0
  171. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.d.ts +28 -0
  172. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.d.ts +7 -0
  173. package/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.d.ts +21 -0
  174. package/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.d.ts +21 -0
  175. package/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.d.ts +68 -0
  176. package/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.d.ts +61 -0
  177. package/lib/components/interaction/dropdown-menu/index.d.ts +9 -0
  178. package/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.d.ts +8 -0
  179. package/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.d.ts +11 -0
  180. package/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.d.ts +2 -0
  181. package/lib/components/navigation/editable-tabs/component/editable-tabs.component.d.ts +69 -0
  182. package/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.d.ts +20 -0
  183. package/lib/components/navigation/editable-tabs/model/editable-tabs.types.d.ts +60 -0
  184. package/lib/components/navigation/segmented-control/component/segmented-control.component.d.ts +64 -0
  185. package/lib/components/navigation/segmented-control/item/segmented-item.component.d.ts +35 -0
  186. package/lib/components/navigation/segmented-control/model/segmented-control.types.d.ts +12 -0
  187. package/lib/components/navigation/segmented-control/token/segmented-control.tokens.d.ts +22 -0
  188. package/lib/components/navigation/stepper/actions/stepper-actions.component.d.ts +7 -0
  189. package/lib/components/navigation/stepper/component/stepper.component.d.ts +36 -0
  190. package/lib/components/navigation/stepper/content/stepper-content.component.d.ts +5 -0
  191. package/lib/components/navigation/stepper/model/stepper.types.d.ts +15 -0
  192. package/lib/components/navigation/stepper/step/step.component.d.ts +27 -0
  193. package/lib/components/navigation/stepper/token/stepper.tokens.d.ts +13 -0
  194. package/lib/components/navigation/tabs/component/tabs.component.d.ts +47 -0
  195. package/lib/components/navigation/tabs/index.d.ts +6 -0
  196. package/lib/components/navigation/tabs/model/tabs.types.d.ts +17 -0
  197. package/lib/components/navigation/tabs/tab/tab.component.d.ts +38 -0
  198. package/lib/components/navigation/tabs/tab-panel/tab-panel.component.d.ts +15 -0
  199. package/lib/components/navigation/tabs/token/tabs.tokens.d.ts +19 -0
  200. package/lib/components/overlay/dialog/component/dialog.component.d.ts +29 -0
  201. package/lib/components/overlay/dialog/components/dialog-actions.component.d.ts +12 -0
  202. package/lib/components/overlay/dialog/components/dialog-content.component.d.ts +5 -0
  203. package/lib/components/overlay/dialog/components/dialog-header.component.d.ts +19 -0
  204. package/lib/components/overlay/dialog/container/dialog-container.component.d.ts +32 -0
  205. package/lib/components/overlay/dialog/flow/dialog-flow.component.d.ts +19 -0
  206. package/lib/components/overlay/dialog/flow/dialog-step.component.d.ts +7 -0
  207. package/lib/components/overlay/dialog/model/dialog.types.d.ts +87 -0
  208. package/lib/components/overlay/dialog/provider/provide-solaris-dialog.d.ts +3 -0
  209. package/lib/components/overlay/dialog/service/dialog-ref.d.ts +11 -0
  210. package/lib/components/overlay/dialog/service/dialog.service.d.ts +20 -0
  211. package/lib/components/overlay/dialog/token/dialog-data.token.d.ts +4 -0
  212. package/lib/components/overlay/dialog/token/dialog.tokens.d.ts +4 -0
  213. package/lib/services/icon/icons/groups/actions.d.ts +2 -0
  214. package/lib/services/icon/icons/groups/data.d.ts +2 -0
  215. package/lib/services/icon/icons/groups/layout.d.ts +2 -0
  216. package/lib/services/icon/icons/groups/navigation.d.ts +2 -0
  217. package/lib/services/icon/icons/groups/status.d.ts +2 -0
  218. package/lib/services/icon/icons/groups/theme.d.ts +2 -0
  219. package/lib/services/icon/model/solaris-icon-definition.interface.d.ts +10 -1
  220. package/lib/services/icon/model/solaris-icon.types.d.ts +1 -1
  221. package/package.json +1 -1
  222. package/styles/_dropdown-menu.scss +72 -0
  223. package/styles/_popover.scss +24 -19
  224. package/styles/_toast.scss +9 -0
  225. package/styles/_tooltip.scss +3 -3
@@ -0,0 +1,106 @@
1
+ export type SolarisToastPosition = 'top-start' | 'top-center' | 'top-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
2
+ export type SolarisToastAppearance = 'surface' | 'outline';
3
+ export type SolarisToastVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger' | 'loading' | 'custom';
4
+ export type SolarisToastActionsAlign = 'start' | 'center' | 'end' | 'stretch';
5
+ export type SolarisToastIconSize = 'sm' | 'md' | 'lg';
6
+ export type SolarisToastMediaShape = 'circle' | 'rounded' | 'square';
7
+ export type SolarisToastCountdownMode = 'bar' | 'text' | 'both';
8
+ export interface SolarisToastAction {
9
+ label: string;
10
+ labelKey?: string;
11
+ appearance?: 'solid' | 'outline' | 'ghost' | 'surface';
12
+ color?: 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
13
+ closeOnClick?: boolean;
14
+ disabled?: boolean;
15
+ action: (toast: SolarisToastRef) => void;
16
+ }
17
+ export interface SolarisToastOptions {
18
+ id?: string;
19
+ variant?: SolarisToastVariant;
20
+ appearance?: SolarisToastAppearance;
21
+ position?: SolarisToastPosition;
22
+ title?: string;
23
+ titleKey?: string;
24
+ description?: string;
25
+ descriptionKey?: string;
26
+ icon?: string;
27
+ iconDecorative?: boolean;
28
+ closeable?: boolean;
29
+ closeLabel?: string;
30
+ closeLabelKey?: string;
31
+ duration?: number;
32
+ persistent?: boolean;
33
+ progress?: number;
34
+ showProgress?: boolean;
35
+ actions?: SolarisToastAction[];
36
+ data?: unknown;
37
+ ariaLive?: 'polite' | 'assertive' | 'off';
38
+ role?: 'status' | 'alert';
39
+ expandable?: boolean;
40
+ defaultExpanded?: boolean;
41
+ maxCollapsedLines?: number;
42
+ expandLabel?: string;
43
+ expandLabelKey?: string;
44
+ collapseLabel?: string;
45
+ collapseLabelKey?: string;
46
+ showCountdown?: boolean;
47
+ showCountdownText?: boolean;
48
+ countdownMode?: SolarisToastCountdownMode;
49
+ actionsAlign?: SolarisToastActionsAlign;
50
+ iconSize?: SolarisToastIconSize;
51
+ mediaShape?: SolarisToastMediaShape;
52
+ }
53
+ export interface SolarisToastConfig {
54
+ position?: SolarisToastPosition;
55
+ duration?: number;
56
+ limit?: number;
57
+ appearance?: SolarisToastAppearance;
58
+ pauseOnHover?: boolean;
59
+ pauseOnFocus?: boolean;
60
+ newestOnTop?: boolean;
61
+ showCountdown?: boolean;
62
+ showCountdownText?: boolean;
63
+ countdownMode?: SolarisToastCountdownMode;
64
+ actionsAlign?: SolarisToastActionsAlign;
65
+ iconSize?: SolarisToastIconSize;
66
+ mediaShape?: SolarisToastMediaShape;
67
+ }
68
+ export interface SolarisToastSetup {
69
+ autoContainer?: boolean;
70
+ }
71
+ export interface SolarisToastRef {
72
+ id: string;
73
+ dismiss(): void;
74
+ update(patch: Partial<SolarisToastOptions>): void;
75
+ }
76
+ export interface SolarisToastEntry {
77
+ id: string;
78
+ options: SolarisToastOptions;
79
+ createdAt: number;
80
+ resolvedVariant: SolarisToastVariant;
81
+ resolvedAppearance: SolarisToastAppearance;
82
+ resolvedPosition: SolarisToastPosition;
83
+ resolvedDuration: number;
84
+ resolvedPersistent: boolean;
85
+ resolvedCloseable: boolean;
86
+ resolvedAriaLive: 'polite' | 'assertive' | 'off';
87
+ resolvedRole: 'status' | 'alert';
88
+ resolvedIcon: string;
89
+ resolvedTitle: string | undefined;
90
+ resolvedDescription: string | undefined;
91
+ resolvedCloseLabel: string;
92
+ resolvedProgress: number | undefined;
93
+ resolvedShowProgress: boolean;
94
+ resolvedActions: SolarisToastOptions['actions'];
95
+ resolvedExpandable: boolean;
96
+ resolvedDefaultExpanded: boolean;
97
+ resolvedMaxCollapsedLines: number;
98
+ resolvedExpandLabel: string;
99
+ resolvedCollapseLabel: string;
100
+ resolvedShowCountdown: boolean;
101
+ resolvedShowCountdownText: boolean;
102
+ resolvedCountdownMode: SolarisToastCountdownMode;
103
+ resolvedActionsAlign: SolarisToastActionsAlign;
104
+ resolvedIconSize: SolarisToastIconSize;
105
+ resolvedMediaShape: SolarisToastMediaShape;
106
+ }
@@ -0,0 +1,3 @@
1
+ import type { Provider } from '@angular/core';
2
+ import type { SolarisToastConfig, SolarisToastSetup } from '../model/toast.types';
3
+ export declare function provideSolarisToast(config?: Partial<SolarisToastConfig>, setup?: SolarisToastSetup): Provider[];
@@ -0,0 +1,36 @@
1
+ import { type Signal } from '@angular/core';
2
+ import type { SolarisToastConfig, SolarisToastOptions, SolarisToastRef, SolarisToastEntry } from '../model/toast.types';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SolarisToastService {
5
+ private readonly autoContainer;
6
+ private readonly appRef;
7
+ private readonly environmentInjector;
8
+ private readonly injector;
9
+ private readonly containerRefs;
10
+ private readonly entriesSignal;
11
+ readonly entries: Signal<SolarisToastEntry[]>;
12
+ private readonly _configSignal;
13
+ readonly configSignal: Signal<SolarisToastConfig>;
14
+ constructor();
15
+ private getContainer;
16
+ private resolveEntry;
17
+ private resolveAppearances;
18
+ private addEntry;
19
+ private removeEntry;
20
+ private updateEntry;
21
+ private createRef;
22
+ show(options: SolarisToastOptions): SolarisToastRef;
23
+ neutral(options: SolarisToastOptions): SolarisToastRef;
24
+ info(options: SolarisToastOptions): SolarisToastRef;
25
+ success(options: SolarisToastOptions): SolarisToastRef;
26
+ warning(options: SolarisToastOptions): SolarisToastRef;
27
+ danger(options: SolarisToastOptions): SolarisToastRef;
28
+ loading(options: SolarisToastOptions): SolarisToastRef;
29
+ dismiss(id: string): void;
30
+ dismissAll(): void;
31
+ updateConfig(patch: Partial<SolarisToastConfig>): void;
32
+ update(id: string, patch: Partial<SolarisToastOptions>): void;
33
+ private static readonly toastVariant;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisToastService, never>;
35
+ static ɵprov: i0.ɵɵInjectableDeclaration<SolarisToastService>;
36
+ }
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import type { SolarisToastConfig } from '../model/toast.types';
3
+ export declare const SOLARIS_TOAST_CONFIG: InjectionToken<SolarisToastConfig>;
4
+ export declare const SOLARIS_TOAST_DEFAULT_CONFIG: SolarisToastConfig;
5
+ export declare const SOLARIS_TOAST_CONTAINER: InjectionToken<boolean>;
@@ -37,6 +37,7 @@ export declare class SolarisEmailFieldComponent implements ControlValueAccessor
37
37
  readonly size: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisFormFieldSize>;
38
38
  readonly radius: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisFormFieldRadius>;
39
39
  readonly appearance: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisFormFieldAppearance>;
40
+ readonly maxLength: import("@angular/core").InputSignal<number | undefined>;
40
41
  readonly validateDomain: import("@angular/core").InputSignalWithTransform<boolean, boolean>;
41
42
  protected readonly internalValue: import("@angular/core").WritableSignal<string>;
42
43
  protected readonly internalDisabled: import("@angular/core").WritableSignal<boolean>;
@@ -62,5 +63,5 @@ export declare class SolarisEmailFieldComponent implements ControlValueAccessor
62
63
  private buildError;
63
64
  private computeDomainError;
64
65
  static ɵfac: i0.ɵɵFactoryDeclaration<SolarisEmailFieldComponent, never>;
65
- static ɵcmp: i0.ɵɵComponentDeclaration<SolarisEmailFieldComponent, "solaris-email-field", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "hintKey": { "alias": "hintKey"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "labelKey": { "alias": "labelKey"; "required": false; "isSignal": true; }; "errorKey": { "alias": "errorKey"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "invalidError": { "alias": "invalidError"; "required": false; "isSignal": true; }; "requiredError": { "alias": "requiredError"; "required": false; "isSignal": true; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; "isSignal": true; }; "invalidErrorKey": { "alias": "invalidErrorKey"; "required": false; "isSignal": true; }; "requiredErrorKey": { "alias": "requiredErrorKey"; "required": false; "isSignal": true; }; "allowedDomainError": { "alias": "allowedDomainError"; "required": false; "isSignal": true; }; "blockedDomainError": { "alias": "blockedDomainError"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "trimOnBlur": { "alias": "trimOnBlur"; "required": false; "isSignal": true; }; "allowedDomainErrorKey": { "alias": "allowedDomainErrorKey"; "required": false; "isSignal": true; }; "blockedDomainErrorKey": { "alias": "blockedDomainErrorKey"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "normalizeLowercase": { "alias": "normalizeLowercase"; "required": false; "isSignal": true; }; "allowedDomains": { "alias": "allowedDomains"; "required": false; "isSignal": true; }; "blockedDomains": { "alias": "blockedDomains"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "validateDomain": { "alias": "validateDomain"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
66
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisEmailFieldComponent, "solaris-email-field", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "hintKey": { "alias": "hintKey"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "labelKey": { "alias": "labelKey"; "required": false; "isSignal": true; }; "errorKey": { "alias": "errorKey"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "invalidError": { "alias": "invalidError"; "required": false; "isSignal": true; }; "requiredError": { "alias": "requiredError"; "required": false; "isSignal": true; }; "placeholderKey": { "alias": "placeholderKey"; "required": false; "isSignal": true; }; "invalidErrorKey": { "alias": "invalidErrorKey"; "required": false; "isSignal": true; }; "requiredErrorKey": { "alias": "requiredErrorKey"; "required": false; "isSignal": true; }; "allowedDomainError": { "alias": "allowedDomainError"; "required": false; "isSignal": true; }; "blockedDomainError": { "alias": "blockedDomainError"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "trimOnBlur": { "alias": "trimOnBlur"; "required": false; "isSignal": true; }; "allowedDomainErrorKey": { "alias": "allowedDomainErrorKey"; "required": false; "isSignal": true; }; "blockedDomainErrorKey": { "alias": "blockedDomainErrorKey"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "normalizeLowercase": { "alias": "normalizeLowercase"; "required": false; "isSignal": true; }; "allowedDomains": { "alias": "allowedDomains"; "required": false; "isSignal": true; }; "blockedDomains": { "alias": "blockedDomains"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "validateDomain": { "alias": "validateDomain"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
66
67
  }
@@ -51,10 +51,16 @@ export declare class SolarisFormFieldComponent implements AfterContentInit, OnDe
51
51
  protected readonly autoDetectedDisabled: import("@angular/core").WritableSignal<boolean>;
52
52
  protected readonly autoDetectedReadonly: import("@angular/core").WritableSignal<boolean>;
53
53
  protected readonly controlResize: import("@angular/core").WritableSignal<ControlResize | null>;
54
+ protected readonly maxLength: import("@angular/core").WritableSignal<number | undefined>;
55
+ protected readonly currentLength: import("@angular/core").WritableSignal<number>;
56
+ protected readonly showCharacterCounter: import("@angular/core").Signal<boolean>;
57
+ protected readonly characterCounterText: import("@angular/core").Signal<string>;
58
+ protected readonly characterCounterSeverity: import("@angular/core").Signal<"warning" | "danger" | "normal">;
54
59
  protected controlId: string | null;
55
60
  private controlElement;
56
61
  private focusListener;
57
62
  private blurListener;
63
+ private inputListener;
58
64
  protected readonly hasProjectedLabel: import("@angular/core").Signal<boolean>;
59
65
  protected readonly hasProjectedHint: import("@angular/core").Signal<boolean>;
60
66
  protected readonly hasProjectedError: import("@angular/core").Signal<boolean>;
@@ -1,13 +1,13 @@
1
- import { QueryList, ElementRef, AfterContentInit, AfterViewInit, OnDestroy } from '@angular/core';
1
+ import { QueryList, ElementRef, AfterContentInit, AfterViewInit } from '@angular/core';
2
2
  import { type ControlValueAccessor } from '@angular/forms';
3
+ import { SolarisFormFieldComponent } from '../../form-field';
3
4
  import { SolarisFormControl } from '../../form-field/model/form-control.contract';
4
- import { SolarisFormFieldComponent } from '../../form-field/component/form-field.component';
5
- import { SolarisOptionComponent } from '../../option';
6
5
  import { SolarisOptionGroupComponent } from '../../option-group';
6
+ import { SolarisOptionComponent } from '../../option';
7
7
  import { SolarisPopoverTriggerDirective } from '../../../interaction/popover';
8
8
  import type { SolarisMultiSelectAppearance, SolarisMultiSelectSize, SolarisMultiSelectDensity, SolarisMultiSelectRadius, SolarisMultiSelectDisplayMode } from '../model/multi-select.types';
9
9
  import * as i0 from "@angular/core";
10
- export declare class SolarisMultiSelectComponent extends SolarisFormControl implements ControlValueAccessor, AfterContentInit, AfterViewInit, OnDestroy {
10
+ export declare class SolarisMultiSelectComponent extends SolarisFormControl implements ControlValueAccessor, AfterContentInit, AfterViewInit {
11
11
  private readonly elementRef;
12
12
  private readonly translateService;
13
13
  protected readonly parentFormField: SolarisFormFieldComponent | null;
@@ -121,7 +121,6 @@ export declare class SolarisMultiSelectComponent extends SolarisFormControl impl
121
121
  protected readonly overflowCount: import("@angular/core").Signal<number>;
122
122
  protected readonly overflowText: import("@angular/core").Signal<string>;
123
123
  protected readonly commaText: import("@angular/core").Signal<string>;
124
- protected readonly displayText: import("@angular/core").Signal<string>;
125
124
  protected readonly placeholderText: import("@angular/core").Signal<string>;
126
125
  protected readonly searchPlaceholderText: import("@angular/core").Signal<string>;
127
126
  protected readonly loadingTextValue: import("@angular/core").Signal<string>;
@@ -145,7 +144,6 @@ export declare class SolarisMultiSelectComponent extends SolarisFormControl impl
145
144
  protected readonly selectableOptions: import("@angular/core").Signal<SolarisOptionComponent[]>;
146
145
  protected readonly isAllSelected: import("@angular/core").Signal<boolean>;
147
146
  protected readonly isPartialSelected: import("@angular/core").Signal<boolean>;
148
- protected readonly effectiveDisplayMode: import("@angular/core").Signal<SolarisMultiSelectDisplayMode>;
149
147
  get id(): string;
150
148
  get focused(): boolean;
151
149
  get disabled(): boolean;
@@ -162,7 +160,6 @@ export declare class SolarisMultiSelectComponent extends SolarisFormControl impl
162
160
  constructor();
163
161
  ngAfterContentInit(): void;
164
162
  ngAfterViewInit(): void;
165
- ngOnDestroy(): void;
166
163
  private setupResizeObserver;
167
164
  protected onPanelOpened(): void;
168
165
  protected onPanelClosed(): void;
@@ -1,9 +1,9 @@
1
1
  import { QueryList, ElementRef, AfterContentInit, AfterViewInit, OnDestroy } from '@angular/core';
2
2
  import { type ControlValueAccessor } from '@angular/forms';
3
+ import { SolarisFormFieldComponent } from '../../form-field';
3
4
  import { SolarisFormControl } from '../../form-field/model/form-control.contract';
4
- import { SolarisFormFieldComponent } from '../../form-field/component/form-field.component';
5
- import { SolarisOptionComponent } from '../../option';
6
5
  import { SolarisOptionGroupComponent } from '../../option-group';
6
+ import { SolarisOptionComponent } from '../../option';
7
7
  import { SolarisPopoverTriggerDirective } from '../../../interaction/popover';
8
8
  import type { SolarisSelectAppearance, SolarisSelectSize, SolarisSelectDensity, SolarisSelectRadius } from '../model/select.types';
9
9
  import * as i0 from "@angular/core";
@@ -0,0 +1,10 @@
1
+ import { SolarisDropdownMenuLabelComponent } from './dropdown-menu-label.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SolarisDropdownMenuGroupComponent {
4
+ readonly labelChild: import("@angular/core").Signal<SolarisDropdownMenuLabelComponent | undefined>;
5
+ readonly groupId: string;
6
+ protected readonly labelId: import("@angular/core").Signal<string | null>;
7
+ protected readonly computedRole: import("@angular/core").Signal<string | null>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownMenuGroupComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownMenuGroupComponent, "solaris-dropdown-menu-group", never, {}, {}, ["labelChild"], ["*"], true, never>;
10
+ }
@@ -0,0 +1,28 @@
1
+ import type { SolarisDropdownMenuItemColor, SolarisDropdownMenuItemType } from '../model/dropdown-menu.types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SolarisDropdownMenuItemComponent {
4
+ private readonly elementRef;
5
+ readonly color: import("@angular/core").InputSignal<SolarisDropdownMenuItemColor>;
6
+ readonly type: import("@angular/core").InputSignal<SolarisDropdownMenuItemType>;
7
+ readonly closeOnSelect: import("@angular/core").InputSignal<boolean | undefined>;
8
+ readonly descriptionKey: import("@angular/core").InputSignal<string | undefined>;
9
+ readonly description: import("@angular/core").InputSignal<string | undefined>;
10
+ readonly checked: import("@angular/core").InputSignal<boolean | undefined>;
11
+ readonly labelKey: import("@angular/core").InputSignal<string | undefined>;
12
+ readonly shortcut: import("@angular/core").InputSignal<string | undefined>;
13
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
14
+ readonly icon: import("@angular/core").InputSignal<string | undefined>;
15
+ readonly iconDecorative: import("@angular/core").InputSignal<boolean>;
16
+ readonly value: import("@angular/core").InputSignal<unknown>;
17
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
18
+ readonly itemSelected: import("@angular/core").OutputEmitterRef<void>;
19
+ protected readonly computedRole: import("@angular/core").Signal<string>;
20
+ protected readonly computedAriaChecked: import("@angular/core").Signal<string | null>;
21
+ protected readonly tabIndexValue: import("@angular/core").Signal<string>;
22
+ protected readonly hasLeadingContent: import("@angular/core").Signal<boolean>;
23
+ handleClick(): void;
24
+ onKeydown(event: KeyboardEvent): void;
25
+ focus(): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownMenuItemComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownMenuItemComponent, "solaris-dropdown-menu-item", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "descriptionKey": { "alias": "descriptionKey"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "labelKey": { "alias": "labelKey"; "required": false; "isSignal": true; }; "shortcut": { "alias": "shortcut"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconDecorative": { "alias": "iconDecorative"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "itemSelected": "itemSelected"; }, never, never, true, never>;
28
+ }
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SolarisDropdownMenuLabelComponent {
3
+ readonly label: import("@angular/core").InputSignal<string>;
4
+ readonly labelId: string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownMenuLabelComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownMenuLabelComponent, "solaris-dropdown-menu-label", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,21 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { type SolarisDropdownNavigableItem } from '../model/dropdown-menu-navigation';
3
+ import type { SolarisDropdownMenuSize, SolarisDropdownMenuDensity } from '../model/dropdown-menu.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SolarisDropdownMenuComponent {
6
+ readonly size: import("@angular/core").InputSignal<SolarisDropdownMenuSize>;
7
+ readonly density: import("@angular/core").InputSignal<SolarisDropdownMenuDensity>;
8
+ readonly navigableItems: import("@angular/core").Signal<readonly SolarisDropdownNavigableItem[]>;
9
+ readonly contentTemplate: import("@angular/core").Signal<TemplateRef<any>>;
10
+ readonly panelId: string;
11
+ readonly focusedIndex: import("@angular/core").WritableSignal<number>;
12
+ readonly enabledNavigableItems: import("@angular/core").Signal<SolarisDropdownNavigableItem[]>;
13
+ focusFirstItem(): void;
14
+ focusLastItem(): void;
15
+ focusNextItem(): void;
16
+ focusPreviousItem(): void;
17
+ focusItemByLabel(label: string): void;
18
+ activateFocusedItem(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownMenuComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownMenuComponent, "solaris-dropdown-menu", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; }, {}, ["navigableItems"], ["*"], true, never>;
21
+ }
@@ -0,0 +1,21 @@
1
+ import type { SolarisDropdownMenuItemColor } from '../model/dropdown-menu.types';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SolarisDropdownSubmenuTriggerComponent {
4
+ private readonly elementRef;
5
+ private readonly submenu;
6
+ readonly icon: import("@angular/core").InputSignal<string | undefined>;
7
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
8
+ readonly labelKey: import("@angular/core").InputSignal<string | undefined>;
9
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
10
+ readonly color: import("@angular/core").InputSignal<SolarisDropdownMenuItemColor>;
11
+ protected readonly isSubmenuOpen: import("@angular/core").Signal<boolean>;
12
+ protected readonly submenuPanelId: import("@angular/core").Signal<string | null>;
13
+ protected readonly hasLeadingContent: import("@angular/core").Signal<boolean>;
14
+ handleClick(): void;
15
+ onMouseEnter(): void;
16
+ onMouseLeave(): void;
17
+ onKeydown(event: KeyboardEvent): void;
18
+ focus(): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownSubmenuTriggerComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownSubmenuTriggerComponent, "solaris-dropdown-submenu-trigger", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelKey": { "alias": "labelKey"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
21
+ }
@@ -0,0 +1,68 @@
1
+ import { SolarisDropdownMenuComponent } from './dropdown-menu.component';
2
+ import { SolarisDropdownSubmenuTriggerComponent } from './dropdown-submenu-trigger.component';
3
+ import type { SolarisDropdownSubmenuOpenMode, SolarisDropdownSubmenuPlacement } from '../model/dropdown-submenu.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SolarisDropdownSubmenuComponent {
6
+ private readonly elementRef;
7
+ private readonly viewContainerRef;
8
+ private readonly destroyRef;
9
+ private readonly document;
10
+ private readonly injector;
11
+ private readonly overlay;
12
+ readonly openMode: import("@angular/core").InputSignal<SolarisDropdownSubmenuOpenMode>;
13
+ readonly placement: import("@angular/core").InputSignal<SolarisDropdownSubmenuPlacement>;
14
+ readonly matchTriggerWidth: import("@angular/core").InputSignal<boolean>;
15
+ readonly minWidth: import("@angular/core").InputSignal<string | null>;
16
+ readonly maxWidth: import("@angular/core").InputSignal<string | null>;
17
+ readonly openDelay: import("@angular/core").InputSignal<number>;
18
+ readonly closeDelay: import("@angular/core").InputSignal<number>;
19
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
20
+ readonly nestedMenu: import("@angular/core").Signal<SolarisDropdownMenuComponent | undefined>;
21
+ readonly triggerChild: import("@angular/core").Signal<SolarisDropdownSubmenuTriggerComponent | undefined>;
22
+ readonly nestedMenuPanelId: import("@angular/core").Signal<string | null>;
23
+ readonly isOpen: import("@angular/core").WritableSignal<boolean>;
24
+ private overlayRef;
25
+ private outsideClickCleanup;
26
+ private keydownCleanup;
27
+ private itemClickCleanup;
28
+ private panelMouseEnterCleanup;
29
+ private panelMouseLeaveCleanup;
30
+ private openTimer;
31
+ private closeTimer;
32
+ constructor();
33
+ toggle(): void;
34
+ open(): void;
35
+ close(): void;
36
+ onTriggerHover(): void;
37
+ onTriggerLeave(): void;
38
+ private addPanelMouseHandlers;
39
+ private removePanelMouseHandlers;
40
+ private isPointerInside;
41
+ private notifyParentKeepAlive;
42
+ private notifyParentChildClosed;
43
+ private hasOpenChildSubmenu;
44
+ private closeSiblingSubmenus;
45
+ private createOverlay;
46
+ private createPositionStrategy;
47
+ private getPositions;
48
+ private attachMenu;
49
+ private detachMenu;
50
+ private disposeOverlay;
51
+ private addOutsideClickHandler;
52
+ private removeOutsideClickHandler;
53
+ private readonly handleOutsideClick;
54
+ private addItemClickHandler;
55
+ private removeItemClickHandler;
56
+ private readonly handleItemClick;
57
+ private addKeydownHandler;
58
+ private removeKeydownHandler;
59
+ private readonly handleOverlayKeydown;
60
+ handleKeydown(event: KeyboardEvent): void;
61
+ private rendererListen;
62
+ private updateOverlaySize;
63
+ private clearTimers;
64
+ private clearOpenTimer;
65
+ private clearCloseTimer;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownSubmenuComponent, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisDropdownSubmenuComponent, "solaris-dropdown-submenu", never, { "openMode": { "alias": "openMode"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "matchTriggerWidth": { "alias": "matchTriggerWidth"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "openDelay": { "alias": "openDelay"; "required": false; "isSignal": true; }; "closeDelay": { "alias": "closeDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["nestedMenu", "triggerChild"], ["*"], true, never>;
68
+ }
@@ -0,0 +1,61 @@
1
+ import { SolarisDropdownMenuComponent } from '../component/dropdown-menu.component';
2
+ import * as i0 from "@angular/core";
3
+ export declare class SolarisDropdownMenuTriggerDirective {
4
+ private readonly elementRef;
5
+ private readonly viewContainerRef;
6
+ private readonly destroyRef;
7
+ private readonly document;
8
+ private readonly injector;
9
+ private readonly overlay;
10
+ readonly triggerId: string;
11
+ private overlayRef;
12
+ private outsideClickCleanup;
13
+ private keydownCleanup;
14
+ private previousActiveElement;
15
+ private attachedMenu;
16
+ private positionStrategy;
17
+ protected readonly isOpen: import("@angular/core").WritableSignal<boolean>;
18
+ readonly solarisDropdownMenuTriggerFor: import("@angular/core").InputSignal<SolarisDropdownMenuComponent | undefined>;
19
+ readonly solarisDropdownMenuOpen: import("@angular/core").InputSignal<boolean | undefined>;
20
+ readonly solarisDropdownMenuDisabled: import("@angular/core").InputSignal<boolean>;
21
+ readonly solarisDropdownMenuPlacement: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisPopoverPlacement>;
22
+ readonly solarisDropdownMenuAlign: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisPopoverAlign>;
23
+ readonly solarisDropdownMenuOffset: import("@angular/core").InputSignal<number>;
24
+ readonly solarisDropdownMenuAppearance: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisPopoverAppearance>;
25
+ readonly solarisDropdownMenuRadius: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisPopoverRadius>;
26
+ readonly solarisDropdownMenuCloseOnSelect: import("@angular/core").InputSignal<boolean>;
27
+ readonly solarisDropdownMenuCloseOnEscape: import("@angular/core").InputSignal<boolean>;
28
+ readonly solarisDropdownMenuCloseOnOutsideClick: import("@angular/core").InputSignal<boolean>;
29
+ readonly solarisDropdownMenuMatchTriggerWidth: import("@angular/core").InputSignal<boolean>;
30
+ readonly solarisDropdownMenuMinWidth: import("@angular/core").InputSignal<string | number | undefined>;
31
+ readonly solarisDropdownMenuMaxWidth: import("@angular/core").InputSignal<string | number | undefined>;
32
+ readonly solarisDropdownMenuRestoreFocus: import("@angular/core").InputSignal<boolean>;
33
+ readonly solarisDropdownMenuScrollStrategy: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisPopoverScrollStrategy>;
34
+ readonly menuOpened: import("@angular/core").OutputEmitterRef<void>;
35
+ readonly menuClosed: import("@angular/core").OutputEmitterRef<void>;
36
+ readonly openChange: import("@angular/core").OutputEmitterRef<boolean>;
37
+ protected readonly menuId: import("@angular/core").Signal<string | null>;
38
+ constructor();
39
+ onClick(): void;
40
+ open(): void;
41
+ close(): void;
42
+ toggle(): void;
43
+ private createOverlay;
44
+ private createPositionStrategy;
45
+ private createScrollStrategy;
46
+ private attachMenu;
47
+ private detachMenu;
48
+ private disposeOverlay;
49
+ private addOutsideClickHandler;
50
+ private removeOutsideClickHandler;
51
+ private readonly handleOutsideClick;
52
+ private addKeydownHandler;
53
+ private removeKeydownHandler;
54
+ private readonly handleOverlayKeydown;
55
+ private rendererListen;
56
+ private updateOverlaySize;
57
+ private restoreFocus;
58
+ onKeydown(event: KeyboardEvent): void;
59
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisDropdownMenuTriggerDirective, never>;
60
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SolarisDropdownMenuTriggerDirective, "[solaris-dropdown-menu-trigger]", never, { "solarisDropdownMenuTriggerFor": { "alias": "solarisDropdownMenuTriggerFor"; "required": false; "isSignal": true; }; "solarisDropdownMenuOpen": { "alias": "solarisDropdownMenuOpen"; "required": false; "isSignal": true; }; "solarisDropdownMenuDisabled": { "alias": "solarisDropdownMenuDisabled"; "required": false; "isSignal": true; }; "solarisDropdownMenuPlacement": { "alias": "solarisDropdownMenuPlacement"; "required": false; "isSignal": true; }; "solarisDropdownMenuAlign": { "alias": "solarisDropdownMenuAlign"; "required": false; "isSignal": true; }; "solarisDropdownMenuOffset": { "alias": "solarisDropdownMenuOffset"; "required": false; "isSignal": true; }; "solarisDropdownMenuAppearance": { "alias": "solarisDropdownMenuAppearance"; "required": false; "isSignal": true; }; "solarisDropdownMenuRadius": { "alias": "solarisDropdownMenuRadius"; "required": false; "isSignal": true; }; "solarisDropdownMenuCloseOnSelect": { "alias": "solarisDropdownMenuCloseOnSelect"; "required": false; "isSignal": true; }; "solarisDropdownMenuCloseOnEscape": { "alias": "solarisDropdownMenuCloseOnEscape"; "required": false; "isSignal": true; }; "solarisDropdownMenuCloseOnOutsideClick": { "alias": "solarisDropdownMenuCloseOnOutsideClick"; "required": false; "isSignal": true; }; "solarisDropdownMenuMatchTriggerWidth": { "alias": "solarisDropdownMenuMatchTriggerWidth"; "required": false; "isSignal": true; }; "solarisDropdownMenuMinWidth": { "alias": "solarisDropdownMenuMinWidth"; "required": false; "isSignal": true; }; "solarisDropdownMenuMaxWidth": { "alias": "solarisDropdownMenuMaxWidth"; "required": false; "isSignal": true; }; "solarisDropdownMenuRestoreFocus": { "alias": "solarisDropdownMenuRestoreFocus"; "required": false; "isSignal": true; }; "solarisDropdownMenuScrollStrategy": { "alias": "solarisDropdownMenuScrollStrategy"; "required": false; "isSignal": true; }; }, { "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; "openChange": "openChange"; }, never, never, true, never>;
61
+ }
@@ -0,0 +1,9 @@
1
+ export { SolarisDropdownMenuComponent } from './component/dropdown-menu.component';
2
+ export { SolarisDropdownMenuTriggerDirective } from './directives/dropdown-menu-trigger.directive';
3
+ export { SolarisDropdownMenuItemComponent } from './component/dropdown-menu-item.component';
4
+ export { SolarisDropdownMenuGroupComponent } from './component/dropdown-menu-group.component';
5
+ export { SolarisDropdownMenuLabelComponent } from './component/dropdown-menu-label.component';
6
+ export { SolarisDropdownSubmenuComponent } from './component/dropdown-submenu.component';
7
+ export { SolarisDropdownSubmenuTriggerComponent } from './component/dropdown-submenu-trigger.component';
8
+ export type { SolarisDropdownMenuPlacement, SolarisDropdownMenuAlign, SolarisDropdownMenuAppearance, SolarisDropdownMenuRadius, SolarisDropdownMenuSize, SolarisDropdownMenuDensity, SolarisDropdownMenuItemColor, SolarisDropdownMenuItemType, SolarisDropdownMenuScrollStrategy, } from './model/dropdown-menu.types';
9
+ export type { SolarisDropdownSubmenuOpenMode, SolarisDropdownSubmenuPlacement, } from './model/dropdown-submenu.types';
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export interface SolarisDropdownNavigableItem {
3
+ disabled(): boolean;
4
+ focus(): void;
5
+ label(): string | undefined;
6
+ handleClick(): void;
7
+ }
8
+ export declare const SOLARIS_DROPDOWN_NAVIGABLE_ITEM: InjectionToken<SolarisDropdownNavigableItem>;
@@ -0,0 +1,11 @@
1
+ import type { SolarisPopoverPlacement, SolarisPopoverAlign, SolarisPopoverAppearance, SolarisPopoverRadius, SolarisPopoverScrollStrategy } from '../../popover/model/popover.types';
2
+ export type SolarisDropdownMenuPlacement = SolarisPopoverPlacement;
3
+ export type SolarisDropdownMenuAlign = SolarisPopoverAlign;
4
+ export type SolarisDropdownMenuAppearance = SolarisPopoverAppearance;
5
+ export type SolarisDropdownMenuRadius = SolarisPopoverRadius;
6
+ export type SolarisDropdownMenuScrollStrategy = SolarisPopoverScrollStrategy;
7
+ export type SolarisDropdownMenuSize = 'sm' | 'md' | 'lg';
8
+ export type SolarisDropdownMenuDensity = 'compact' | 'comfortable';
9
+ export type SolarisDropdownMenuItemColor = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
10
+ export type SolarisDropdownMenuItemType = 'item' | 'checkbox' | 'radio';
11
+ export type SolarisDropdownMenuItemSelectionMode = 'none' | 'single' | 'multiple';
@@ -0,0 +1,2 @@
1
+ export type SolarisDropdownSubmenuOpenMode = 'hover' | 'click' | 'hover-click';
2
+ export type SolarisDropdownSubmenuPlacement = 'right-start' | 'right' | 'right-end' | 'left-start' | 'left' | 'left-end';
@@ -0,0 +1,69 @@
1
+ import { TemplateRef } from '@angular/core';
2
+ import { SolarisDropdownMenuComponent } from '../../../interaction/dropdown-menu';
3
+ import type { SolarisEditableTabData, SolarisEditableTabAction, SolarisEditableTabRenameEvent, SolarisEditableTabRemoveEvent, SolarisEditableTabMoveEvent, SolarisEditableTabDefaultChangeEvent, SolarisEditableTabActionEvent, SolarisEditableTabMoveDirection, SolarisEditableTabsShowActions, SolarisEditableTabsRenameOnBlur } from '../model/editable-tabs.types';
4
+ import * as i0 from "@angular/core";
5
+ export declare class SolarisEditableTabsComponent {
6
+ private readonly translateService;
7
+ private readonly ngZone;
8
+ readonly value: import("@angular/core").ModelSignal<unknown>;
9
+ readonly defaultValue: import("@angular/core").InputSignal<unknown>;
10
+ readonly orientation: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsOrientation>;
11
+ readonly appearance: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsAppearance>;
12
+ readonly size: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsSize>;
13
+ readonly density: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsDensity>;
14
+ readonly activationMode: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsActivationMode>;
15
+ readonly contentTransition: import("@angular/core").InputSignal<import("@educarehq/solaris-ui").SolarisTabsContentTransition>;
16
+ readonly tabs: import("@angular/core").InputSignal<SolarisEditableTabData<unknown>[]>;
17
+ readonly editable: import("@angular/core").InputSignal<boolean>;
18
+ readonly renamable: import("@angular/core").InputSignal<boolean>;
19
+ readonly removable: import("@angular/core").InputSignal<boolean>;
20
+ readonly movable: import("@angular/core").InputSignal<boolean>;
21
+ readonly defaultable: import("@angular/core").InputSignal<boolean>;
22
+ readonly showActions: import("@angular/core").InputSignal<SolarisEditableTabsShowActions>;
23
+ readonly renameOnBlur: import("@angular/core").InputSignal<SolarisEditableTabsRenameOnBlur>;
24
+ readonly minTabs: import("@angular/core").InputSignal<number>;
25
+ readonly allowEmpty: import("@angular/core").InputSignal<boolean>;
26
+ readonly ariaLabel: import("@angular/core").InputSignal<string | undefined>;
27
+ readonly ariaLabelKey: import("@angular/core").InputSignal<string | undefined>;
28
+ readonly tabContentMap: import("@angular/core").InputSignal<Record<string, TemplateRef<void>> | undefined>;
29
+ readonly valueChange: import("@angular/core").OutputEmitterRef<unknown>;
30
+ readonly tabRenameRequested: import("@angular/core").OutputEmitterRef<SolarisEditableTabRenameEvent<unknown>>;
31
+ readonly tabRename: import("@angular/core").OutputEmitterRef<SolarisEditableTabRenameEvent<unknown>>;
32
+ readonly tabRemoveRequested: import("@angular/core").OutputEmitterRef<SolarisEditableTabRemoveEvent<unknown>>;
33
+ readonly tabRemove: import("@angular/core").OutputEmitterRef<SolarisEditableTabRemoveEvent<unknown>>;
34
+ readonly tabMoveRequested: import("@angular/core").OutputEmitterRef<SolarisEditableTabMoveEvent<unknown>>;
35
+ readonly tabMove: import("@angular/core").OutputEmitterRef<SolarisEditableTabMoveEvent<unknown>>;
36
+ readonly defaultTabChange: import("@angular/core").OutputEmitterRef<SolarisEditableTabDefaultChangeEvent<unknown>>;
37
+ readonly tabAction: import("@angular/core").OutputEmitterRef<SolarisEditableTabActionEvent<unknown>>;
38
+ readonly menuComponents: import("@angular/core").Signal<readonly SolarisDropdownMenuComponent[]>;
39
+ readonly tabMenuRefs: import("@angular/core").Signal<readonly SolarisDropdownMenuComponent[]>;
40
+ protected readonly activeMenuIndex: import("@angular/core").WritableSignal<number | null>;
41
+ protected readonly renamingTabId: import("@angular/core").WritableSignal<unknown>;
42
+ protected readonly renameValue: import("@angular/core").WritableSignal<string>;
43
+ protected readonly defaultTabValue: import("@angular/core").WritableSignal<unknown>;
44
+ protected readonly resolvedAriaLabel: import("@angular/core").Signal<string | undefined>;
45
+ constructor();
46
+ protected onValueChange(newValue: unknown): void;
47
+ protected hasActions(tab: SolarisEditableTabData): boolean;
48
+ protected canRename(tab: SolarisEditableTabData): boolean;
49
+ protected canRemove(tab: SolarisEditableTabData): boolean;
50
+ protected canMoveLeft(tab: SolarisEditableTabData): boolean;
51
+ protected canMoveRight(tab: SolarisEditableTabData): boolean;
52
+ protected canSetDefault(tab: SolarisEditableTabData): boolean;
53
+ protected startRename(tab: SolarisEditableTabData): void;
54
+ protected commitRename(tab: SolarisEditableTabData): void;
55
+ protected cancelRename(): void;
56
+ protected onRenameKeydown(event: KeyboardEvent, tab: SolarisEditableTabData): void;
57
+ protected onRenameBlur(tab: SolarisEditableTabData): void;
58
+ protected confirmRemove(tab: SolarisEditableTabData, index: number): void;
59
+ protected moveLabel(direction: 'left' | 'right'): string;
60
+ protected moveIcon(direction: 'left' | 'right'): string;
61
+ protected moveTab(tab: SolarisEditableTabData, index: number, direction: SolarisEditableTabMoveDirection): void;
62
+ protected setAsDefault(tab: SolarisEditableTabData): void;
63
+ protected handleCustomAction(tab: SolarisEditableTabData, action: SolarisEditableTabAction): void;
64
+ protected isRenaming(tab: SolarisEditableTabData): boolean;
65
+ protected getContentTemplate(tab: SolarisEditableTabData): TemplateRef<void> | null;
66
+ protected resolveText(key: string): string | undefined;
67
+ static ɵfac: i0.ɵɵFactoryDeclaration<SolarisEditableTabsComponent, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<SolarisEditableTabsComponent, "solaris-editable-tabs", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "defaultValue": { "alias": "defaultValue"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "activationMode": { "alias": "activationMode"; "required": false; "isSignal": true; }; "contentTransition": { "alias": "contentTransition"; "required": false; "isSignal": true; }; "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "renamable": { "alias": "renamable"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "movable": { "alias": "movable"; "required": false; "isSignal": true; }; "defaultable": { "alias": "defaultable"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "renameOnBlur": { "alias": "renameOnBlur"; "required": false; "isSignal": true; }; "minTabs": { "alias": "minTabs"; "required": false; "isSignal": true; }; "allowEmpty": { "alias": "allowEmpty"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelKey": { "alias": "ariaLabelKey"; "required": false; "isSignal": true; }; "tabContentMap": { "alias": "tabContentMap"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; "tabRenameRequested": "tabRenameRequested"; "tabRename": "tabRename"; "tabRemoveRequested": "tabRemoveRequested"; "tabRemove": "tabRemove"; "tabMoveRequested": "tabMoveRequested"; "tabMove": "tabMove"; "defaultTabChange": "defaultTabChange"; "tabAction": "tabAction"; }, never, never, true, never>;
69
+ }