@nanahoshi/mona-ui 0.1.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 (134) hide show
  1. package/README.md +25 -0
  2. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +590 -0
  3. package/fesm2022/nanahoshi-mona-ui-avatar.mjs +168 -0
  4. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +220 -0
  5. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +225 -0
  6. package/fesm2022/nanahoshi-mona-ui-button.mjs +497 -0
  7. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +1569 -0
  8. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +339 -0
  9. package/fesm2022/nanahoshi-mona-ui-chip.mjs +453 -0
  10. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +200 -0
  11. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +853 -0
  12. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +923 -0
  13. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +495 -0
  14. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +686 -0
  15. package/fesm2022/nanahoshi-mona-ui-common.mjs +642 -0
  16. package/fesm2022/nanahoshi-mona-ui-contextmenu.mjs +485 -0
  17. package/fesm2022/nanahoshi-mona-ui-date-input.mjs +132 -0
  18. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +460 -0
  19. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +659 -0
  20. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +828 -0
  21. package/fesm2022/nanahoshi-mona-ui-dropdown-button.mjs +523 -0
  22. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +615 -0
  23. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +701 -0
  24. package/fesm2022/nanahoshi-mona-ui-editor.mjs +1400 -0
  25. package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +245 -0
  26. package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +170 -0
  27. package/fesm2022/nanahoshi-mona-ui-filter.mjs +680 -0
  28. package/fesm2022/nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs +105 -0
  29. package/fesm2022/nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs +42 -0
  30. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +130 -0
  31. package/fesm2022/nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs +773 -0
  32. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +240 -0
  33. package/fesm2022/nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs +5374 -0
  34. package/fesm2022/nanahoshi-mona-ui-grid.mjs +2 -0
  35. package/fesm2022/nanahoshi-mona-ui-internal-filter-input.mjs +87 -0
  36. package/fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs +154 -0
  37. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +1356 -0
  38. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +2263 -0
  39. package/fesm2022/nanahoshi-mona-ui-internal.mjs +379 -0
  40. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +630 -0
  41. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +527 -0
  42. package/fesm2022/nanahoshi-mona-ui-list.mjs +4 -0
  43. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +966 -0
  44. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +641 -0
  45. package/fesm2022/nanahoshi-mona-ui-notification.mjs +536 -0
  46. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +597 -0
  47. package/fesm2022/nanahoshi-mona-ui-pager.mjs +790 -0
  48. package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +83 -0
  49. package/fesm2022/nanahoshi-mona-ui-popover.mjs +325 -0
  50. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +1559 -0
  51. package/fesm2022/nanahoshi-mona-ui-popup.mjs +1321 -0
  52. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +294 -0
  53. package/fesm2022/nanahoshi-mona-ui-query.mjs +175 -0
  54. package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +339 -0
  55. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +565 -0
  56. package/fesm2022/nanahoshi-mona-ui-slider.mjs +1049 -0
  57. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +636 -0
  58. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +843 -0
  59. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +537 -0
  60. package/fesm2022/nanahoshi-mona-ui-switch.mjs +308 -0
  61. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +664 -0
  62. package/fesm2022/nanahoshi-mona-ui-text-area.mjs +111 -0
  63. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +369 -0
  64. package/fesm2022/nanahoshi-mona-ui-theme.mjs +314 -0
  65. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +450 -0
  66. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +723 -0
  67. package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +716 -0
  68. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +733 -0
  69. package/fesm2022/nanahoshi-mona-ui-window.mjs +1329 -0
  70. package/fesm2022/nanahoshi-mona-ui.mjs +9 -0
  71. package/package.json +289 -0
  72. package/types/nanahoshi-mona-ui-auto-complete.d.ts +223 -0
  73. package/types/nanahoshi-mona-ui-avatar.d.ts +642 -0
  74. package/types/nanahoshi-mona-ui-breadcrumb.d.ts +70 -0
  75. package/types/nanahoshi-mona-ui-button-group.d.ts +77 -0
  76. package/types/nanahoshi-mona-ui-button.d.ts +111 -0
  77. package/types/nanahoshi-mona-ui-calendar.d.ts +262 -0
  78. package/types/nanahoshi-mona-ui-check-box.d.ts +133 -0
  79. package/types/nanahoshi-mona-ui-chip.d.ts +130 -0
  80. package/types/nanahoshi-mona-ui-circular-progress-bar.d.ts +113 -0
  81. package/types/nanahoshi-mona-ui-color-gradient.d.ts +201 -0
  82. package/types/nanahoshi-mona-ui-color-palette.d.ts +102 -0
  83. package/types/nanahoshi-mona-ui-color-picker.d.ts +156 -0
  84. package/types/nanahoshi-mona-ui-combo-box.d.ts +232 -0
  85. package/types/nanahoshi-mona-ui-common.d.ts +386 -0
  86. package/types/nanahoshi-mona-ui-contextmenu.d.ts +129 -0
  87. package/types/nanahoshi-mona-ui-date-input.d.ts +60 -0
  88. package/types/nanahoshi-mona-ui-date-picker.d.ts +177 -0
  89. package/types/nanahoshi-mona-ui-datetime-picker.d.ts +199 -0
  90. package/types/nanahoshi-mona-ui-dialog.d.ts +261 -0
  91. package/types/nanahoshi-mona-ui-dropdown-button.d.ts +159 -0
  92. package/types/nanahoshi-mona-ui-dropdown-list.d.ts +219 -0
  93. package/types/nanahoshi-mona-ui-dropdowns.d.ts +176 -0
  94. package/types/nanahoshi-mona-ui-editor.d.ts +113 -0
  95. package/types/nanahoshi-mona-ui-expansion-panel.d.ts +87 -0
  96. package/types/nanahoshi-mona-ui-fieldset.d.ts +68 -0
  97. package/types/nanahoshi-mona-ui-filter.d.ts +115 -0
  98. package/types/nanahoshi-mona-ui-grid.d.ts +1114 -0
  99. package/types/nanahoshi-mona-ui-internal-filter-input.d.ts +25 -0
  100. package/types/nanahoshi-mona-ui-internal-indicator-icon.d.ts +28 -0
  101. package/types/nanahoshi-mona-ui-internal-list.d.ts +269 -0
  102. package/types/nanahoshi-mona-ui-internal-tree.d.ts +391 -0
  103. package/types/nanahoshi-mona-ui-internal.d.ts +136 -0
  104. package/types/nanahoshi-mona-ui-list-box.d.ts +225 -0
  105. package/types/nanahoshi-mona-ui-list-view.d.ts +188 -0
  106. package/types/nanahoshi-mona-ui-list.d.ts +1 -0
  107. package/types/nanahoshi-mona-ui-menubar.d.ts +198 -0
  108. package/types/nanahoshi-mona-ui-multi-select.d.ts +247 -0
  109. package/types/nanahoshi-mona-ui-notification.d.ts +106 -0
  110. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +161 -0
  111. package/types/nanahoshi-mona-ui-pager.d.ts +238 -0
  112. package/types/nanahoshi-mona-ui-placeholder.d.ts +35 -0
  113. package/types/nanahoshi-mona-ui-popover.d.ts +130 -0
  114. package/types/nanahoshi-mona-ui-popup-menu.d.ts +412 -0
  115. package/types/nanahoshi-mona-ui-popup.d.ts +485 -0
  116. package/types/nanahoshi-mona-ui-progress-bar.d.ts +139 -0
  117. package/types/nanahoshi-mona-ui-query.d.ts +89 -0
  118. package/types/nanahoshi-mona-ui-radio-button.d.ts +128 -0
  119. package/types/nanahoshi-mona-ui-scroll-view.d.ts +166 -0
  120. package/types/nanahoshi-mona-ui-slider.d.ts +305 -0
  121. package/types/nanahoshi-mona-ui-split-button.d.ts +182 -0
  122. package/types/nanahoshi-mona-ui-splitter.d.ts +70 -0
  123. package/types/nanahoshi-mona-ui-stepper.d.ts +173 -0
  124. package/types/nanahoshi-mona-ui-switch.d.ts +125 -0
  125. package/types/nanahoshi-mona-ui-tabs.d.ts +158 -0
  126. package/types/nanahoshi-mona-ui-text-area.d.ts +42 -0
  127. package/types/nanahoshi-mona-ui-text-box.d.ts +164 -0
  128. package/types/nanahoshi-mona-ui-theme.d.ts +23 -0
  129. package/types/nanahoshi-mona-ui-time-picker.d.ts +184 -0
  130. package/types/nanahoshi-mona-ui-time-selector.d.ts +143 -0
  131. package/types/nanahoshi-mona-ui-tooltip.d.ts +130 -0
  132. package/types/nanahoshi-mona-ui-tree-view.d.ts +274 -0
  133. package/types/nanahoshi-mona-ui-window.d.ts +295 -0
  134. package/types/nanahoshi-mona-ui.d.ts +2 -0
@@ -0,0 +1,133 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { FormCheckboxControl } from '@angular/forms/signals';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantInputs } from '@nanahoshi/mona-ui/internal';
5
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
6
+ import { VariantProps } from 'class-variance-authority';
7
+
8
+ declare const checkmarkThemeVariants: (theme: ThemeStyle) => (props?: ({
9
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare const checkboxContainerLabelThemeVariants: (theme: ThemeStyle) => (props?: ({
12
+ labelSize?: "large" | "medium" | "small" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
14
+ declare const checkboxDirectiveThemeVariants: (theme: ThemeStyle) => (props?: ({
15
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
16
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
17
+ type CheckboxVariantProps = VariantProps<ReturnType<typeof checkboxContainerLabelThemeVariants>>;
18
+ type CheckboxVariantInput = VariantInputs<CheckboxVariantProps>;
19
+ type CheckmarkVariantProps = VariantProps<ReturnType<typeof checkmarkThemeVariants>>;
20
+ type CheckmarkVariantInput = VariantInputs<CheckmarkVariantProps>;
21
+ type CheckboxDirectiveVariantProps = VariantProps<ReturnType<typeof checkboxDirectiveThemeVariants>>;
22
+ type CheckboxDirectiveVariantInput = VariantInputs<CheckboxDirectiveVariantProps>;
23
+
24
+ declare class CheckBoxComponent implements CheckboxVariantInput, CheckmarkVariantInput, FormCheckboxControl {
25
+ #private;
26
+ protected readonly checkBoxClasses: _angular_core.Signal<string>;
27
+ protected readonly checkMarkClasses: _angular_core.Signal<string>;
28
+ protected readonly containerLabelClasses: _angular_core.Signal<string>;
29
+ protected readonly invalidState: _angular_core.Signal<boolean>;
30
+ /**
31
+ * @description Whether the control is checked.
32
+ * @default false
33
+ */
34
+ readonly checked: _angular_core.ModelSignal<boolean>;
35
+ /**
36
+ * @description Renders the component with reduced visual emphasis and removes pointer interaction.
37
+ * @default false
38
+ */
39
+ readonly disabled: _angular_core.InputSignal<boolean>;
40
+ /**
41
+ * @description Activates indeterminate mode, showing a dash instead of a checkmark.
42
+ * @default false
43
+ */
44
+ readonly indeterminate: _angular_core.InputSignal<boolean>;
45
+ /**
46
+ * @description Emitted when the checkbox input loses focus.
47
+ */
48
+ readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
49
+ /**
50
+ * @description Emitted when the checkbox value changes.
51
+ */
52
+ readonly inputChange: _angular_core.OutputEmitterRef<Event>;
53
+ /**
54
+ * @description Emitted when the checkbox input gains focus.
55
+ */
56
+ readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
57
+ /**
58
+ * @description Marks the checkbox as invalid. When bound to a signal form field via `[field]`,
59
+ * this is written by the signal forms `Field` directive.
60
+ * @default false
61
+ */
62
+ readonly invalid: _angular_core.InputSignal<boolean>;
63
+ /**
64
+ * @description Text label displayed alongside the checkbox. When provided, takes precedence over projected content.
65
+ * @default ""
66
+ */
67
+ readonly label: _angular_core.InputSignal<string>;
68
+ /**
69
+ * @description Position of the label relative to the checkbox.
70
+ * @default "after"
71
+ */
72
+ readonly labelPosition: _angular_core.InputSignal<"before" | "after">;
73
+ /**
74
+ * @description Controls the font size of the label text.
75
+ * @default "medium"
76
+ */
77
+ readonly labelSize: _angular_core.InputSignal<"large" | "medium" | "small" | null | undefined>;
78
+ /**
79
+ * @description Marks the control as required for form validation.
80
+ * @default false
81
+ */
82
+ readonly required: _angular_core.InputSignal<boolean>;
83
+ /**
84
+ * @description Border-radius preset applied to the checkmark box.
85
+ * @default "medium"
86
+ */
87
+ readonly rounded: _angular_core.InputSignal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
88
+ /**
89
+ * @description Tab index of the native checkbox input.
90
+ * @default 0
91
+ */
92
+ readonly tabIndex: _angular_core.InputSignal<number>;
93
+ /**
94
+ * @description Emitted when the checkbox loses focus or its value changes.
95
+ */
96
+ readonly touch: _angular_core.OutputEmitterRef<void>;
97
+ /**
98
+ * @description Marks the checkbox as touched. When bound to a signal form field via `[field]`,
99
+ * this is written by the signal forms `Field` directive.
100
+ * @default false
101
+ */
102
+ readonly touched: _angular_core.InputSignal<boolean>;
103
+ /**
104
+ * @description Additional CSS classes merged onto the label container via `tailwind-merge`.
105
+ * @default ""
106
+ */
107
+ readonly userClass: _angular_core.InputSignal<string>;
108
+ protected onCheckedChange(checked: boolean): void;
109
+ protected onInputChange(event: Event): void;
110
+ protected onInputBlur(event: FocusEvent): void;
111
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckBoxComponent, never>;
112
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckBoxComponent, "mona-check-box", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelPosition": { "alias": "labelPosition"; "required": false; "isSignal": true; }; "labelSize": { "alias": "labelSize"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; "inputBlur": "inputBlur"; "inputChange": "inputChange"; "inputFocus": "inputFocus"; "touch": "touch"; }, never, ["*"], true, never>;
113
+ }
114
+
115
+ declare class CheckboxDirective implements CheckboxDirectiveVariantInput {
116
+ #private;
117
+ protected readonly classes: _angular_core.Signal<string>;
118
+ /**
119
+ * @description Border-radius preset applied to the checkbox.
120
+ * @default "medium"
121
+ */
122
+ readonly rounded: _angular_core.InputSignal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
123
+ /**
124
+ * @description Additional CSS classes merged onto the host element via `tailwind-merge`.
125
+ * @default ""
126
+ */
127
+ readonly userClass: _angular_core.InputSignal<string>;
128
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxDirective, never>;
129
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CheckboxDirective, "input[type='checkbox'][monaCheckbox]", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
130
+ }
131
+
132
+ export { CheckBoxComponent, CheckboxDirective };
133
+ export type { CheckboxDirectiveVariantProps, CheckboxVariantProps, CheckmarkVariantProps };
@@ -0,0 +1,130 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import { VariantInputs } from '@nanahoshi/mona-ui/internal';
5
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
6
+ import { VariantProps } from 'class-variance-authority';
7
+
8
+ declare const chipThemeVariants: (theme: ThemeStyle) => (props?: ({
9
+ disabled?: boolean | null | undefined;
10
+ look?: "default" | "primary" | "success" | "error" | "warning" | "info" | "outline" | "secondary" | "ghost" | null | undefined;
11
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
12
+ size?: "large" | "medium" | "small" | null | undefined;
13
+ selected?: boolean | null | undefined;
14
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
15
+ type ChipVariantProps = VariantProps<ReturnType<typeof chipThemeVariants>>;
16
+ type ChipVariantInputs = VariantInputs<ChipVariantProps>;
17
+
18
+ declare class ChipComponent implements ChipVariantInputs {
19
+ #private;
20
+ protected readonly ariaChecked: _angular_core.Signal<"true" | "false" | undefined>;
21
+ protected readonly baseClass: _angular_core.Signal<string>;
22
+ protected readonly effectiveAriaLabel: _angular_core.Signal<string | undefined>;
23
+ protected readonly effectiveTabIndex: _angular_core.Signal<string | number>;
24
+ protected readonly iconSize: _angular_core.Signal<13 | 14 | 16>;
25
+ protected readonly prefixTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
26
+ protected readonly role: _angular_core.Signal<"checkbox" | undefined>;
27
+ /**
28
+ * @description Accessible name for the host element. Describe what the chip represents.
29
+ * When empty, assistive technology announces the role without a label.
30
+ * @default ""
31
+ */
32
+ readonly ariaLabel: _angular_core.InputSignal<string>;
33
+ /**
34
+ * @description Emitted when the chip body is clicked or activated via Enter or Space.
35
+ * Not emitted when the remove button is activated.
36
+ */
37
+ readonly contentClick: _angular_core.OutputEmitterRef<void>;
38
+ /**
39
+ * @description Renders the chip with reduced visual emphasis and removes pointer interaction.
40
+ * @default false
41
+ */
42
+ readonly disabled: _angular_core.InputSignal<boolean>;
43
+ /**
44
+ * @description Text label displayed inside the chip. When non-empty, takes precedence over projected content.
45
+ * @default ""
46
+ */
47
+ readonly label: _angular_core.InputSignal<string>;
48
+ /**
49
+ * @description Visual style variant controlling the chip's background color, border, and interaction states.
50
+ * @default "default"
51
+ */
52
+ readonly look: _angular_core.InputSignal<"default" | "primary" | "success" | "error" | "warning" | "info" | "outline" | "secondary" | "ghost" | null | undefined>;
53
+ /**
54
+ * @description Renders a remove button inside the chip. When activated, emits the `remove` output.
55
+ * @default false
56
+ */
57
+ readonly removable: _angular_core.InputSignal<boolean>;
58
+ /**
59
+ * @description Emitted when the remove button is clicked. Only fires when `removable` is `true`.
60
+ * Emits the originating `Event`.
61
+ */
62
+ readonly remove: _angular_core.OutputEmitterRef<Event>;
63
+ /**
64
+ * @description Accessible label for the remove button, overriding the auto-computed `"Remove, <label>"` fallback.
65
+ * Use when the chip shows only projected content and the default label is not descriptive enough.
66
+ * @default undefined
67
+ */
68
+ readonly removeLabel: _angular_core.InputSignal<string | undefined>;
69
+ /**
70
+ * @description Tab index for the remove button, independent of the chip host's own tabindex.
71
+ * Set to `-1` to exclude the remove button from tab order when an equivalent keyboard path exists elsewhere.
72
+ * @default 0
73
+ */
74
+ readonly removeTabIndex: _angular_core.InputSignal<string | number>;
75
+ /**
76
+ * @description Border-radius preset applied to the chip.
77
+ * @default "full"
78
+ */
79
+ readonly rounded: _angular_core.InputSignal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
80
+ /**
81
+ * @description Whether the chip is selected. When `toggleable` is `true`, each activation flips this value.
82
+ * Supports two-way binding via `[(selected)]`.
83
+ * @default false
84
+ */
85
+ readonly selected: _angular_core.ModelSignal<boolean>;
86
+ /**
87
+ * @description Size preset controlling the chip's padding and remove button dimensions.
88
+ * @default "medium"
89
+ */
90
+ readonly size: _angular_core.InputSignal<"large" | "medium" | "small" | null | undefined>;
91
+ /**
92
+ * @description Tab index override for the chip host element. When not set, computed automatically:
93
+ * `0` when `toggleable` or `removable` is `true`, `-1` otherwise. Overridden to `-1` when `disabled` is `true`.
94
+ * @default undefined
95
+ */
96
+ readonly tabindex: _angular_core.InputSignal<string | number | undefined>;
97
+ /**
98
+ * @description Enables toggle behavior. When `true`, each activation flips `selected`
99
+ * and the host receives `role="checkbox"` with `aria-checked`.
100
+ * @default false
101
+ */
102
+ readonly toggleable: _angular_core.InputSignal<boolean>;
103
+ /**
104
+ * @description Additional CSS classes merged onto the host element via `tailwind-merge`.
105
+ * @default ""
106
+ */
107
+ readonly userClass: _angular_core.InputSignal<string>;
108
+ /**
109
+ * @description Arbitrary value associated with this chip.
110
+ * Useful for identifying which chip was selected or removed in a collection.
111
+ * @default undefined
112
+ */
113
+ readonly value: _angular_core.InputSignal<unknown>;
114
+ constructor();
115
+ protected onRemoveClick(event: Event): void;
116
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipComponent, never>;
117
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChipComponent, "mona-chip", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "look": { "alias": "look"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "removeTabIndex": { "alias": "removeTabIndex"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "toggleable": { "alias": "toggleable"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "contentClick": "contentClick"; "remove": "remove"; "selected": "selectedChange"; }, ["prefixTemplate"], ["*"], true, never>;
118
+ }
119
+
120
+ /**
121
+ * @description Apply to an `<ng-template>` directly inside `<mona-chip>` to render prefix content
122
+ * (e.g., an avatar or icon) before the chip label or projected content. The template receives no context.
123
+ */
124
+ declare class ChipPrefixTemplateDirective {
125
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChipPrefixTemplateDirective, never>;
126
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChipPrefixTemplateDirective, "ng-template[monaChipPrefixTemplate]", never, {}, {}, never, never, true, never>;
127
+ }
128
+
129
+ export { ChipComponent, ChipPrefixTemplateDirective };
130
+ export type { ChipVariantProps };
@@ -0,0 +1,113 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import { VariantInputs, Action } from '@nanahoshi/mona-ui/internal';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
6
+ import { VariantProps } from 'class-variance-authority';
7
+
8
+ interface LabelTemplateContext {
9
+ $implicit: number;
10
+ max: number;
11
+ min: number;
12
+ percent: number;
13
+ }
14
+
15
+ declare class CircularProgressBarLabelTemplateDirective {
16
+ readonly templateRef: TemplateRef<LabelTemplateContext>;
17
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CircularProgressBarLabelTemplateDirective, never>;
18
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CircularProgressBarLabelTemplateDirective, "ng-template[monaCircularProgressBarLabelTemplate]", never, {}, {}, never, never, true, never>;
19
+ }
20
+
21
+ declare const circularProgressBarBaseThemeVariants: (theme: ThemeStyle) => (props?: ({
22
+ disabled?: boolean | null | undefined;
23
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
24
+ type CircularProgressBarBaseVariantProps = VariantProps<ReturnType<typeof circularProgressBarBaseThemeVariants>>;
25
+ type CircularProgressBarBaseVariantInput = VariantInputs<CircularProgressBarBaseVariantProps>;
26
+
27
+ declare class CircularProgressBarComponent implements CircularProgressBarBaseVariantInput {
28
+ #private;
29
+ protected readonly baseClasses: _angular_core.Signal<string>;
30
+ protected readonly center: _angular_core.Signal<{
31
+ x: number;
32
+ y: number;
33
+ }>;
34
+ protected readonly circumference: _angular_core.Signal<number>;
35
+ protected readonly labelTemplate: _angular_core.Signal<CircularProgressBarLabelTemplateDirective | undefined>;
36
+ protected readonly pixelSize: _angular_core.Signal<string>;
37
+ protected readonly progress: _angular_core.Signal<number>;
38
+ protected readonly radius: _angular_core.Signal<number>;
39
+ protected readonly strokeColor: _angular_core.Signal<string | Action<number, string>>;
40
+ protected readonly strokeDashOffset: _angular_core.Signal<number>;
41
+ /**
42
+ * @description Enables CSS transitions on stroke and color changes.
43
+ * Set to `false` when updating `value` at a high frequency.
44
+ * @default true
45
+ */
46
+ readonly animate: _angular_core.InputSignal<boolean>;
47
+ /**
48
+ * @description Accessible name for the host element. Describe what the component represents (e.g., "Upload progress").
49
+ * When empty, assistive technology announces the role without a label.
50
+ * @default ""
51
+ */
52
+ readonly ariaLabel: _angular_core.InputSignal<string>;
53
+ /**
54
+ * @description Human-readable override for the `aria-valuenow` announcement.
55
+ * Useful in indeterminate mode — set to a localized string such as `"Loading"`
56
+ * so screen readers announce state rather than silence.
57
+ * When empty, assistive technology falls back to the numeric value.
58
+ * @default ""
59
+ */
60
+ readonly ariaValueText: _angular_core.InputSignal<string>;
61
+ /**
62
+ * @description Accent color. Pass a CSS color string, or a function receiving the current percentage (0–100) and
63
+ * returning a string. When empty, falls back to the primary theme color.
64
+ * @default ""
65
+ */
66
+ readonly color: _angular_core.InputSignal<string | Action<number, string>>;
67
+ /**
68
+ * @description Renders the component with reduced visual emphasis and removes pointer interaction.
69
+ * @default false
70
+ */
71
+ readonly disabled: _angular_core.InputSignal<boolean>;
72
+ /**
73
+ * @description Activates indeterminate mode when the completion value is unknown.
74
+ * ARIA value attributes are removed and `aria-busy` is set on the host element.
75
+ * @default false
76
+ */
77
+ readonly indeterminate: _angular_core.InputSignal<boolean>;
78
+ /**
79
+ * @description Upper bound of the value range. Must be greater than `min`.
80
+ * @default 100
81
+ */
82
+ readonly max: _angular_core.InputSignal<number>;
83
+ /**
84
+ * @description Lower bound of the value range.
85
+ * @default 0
86
+ */
87
+ readonly min: _angular_core.InputSignal<number>;
88
+ /**
89
+ * @description Diameter of the indicator in pixels. Controls both width and height of the host element.
90
+ * @default 100
91
+ */
92
+ readonly size: _angular_core.InputSignal<number>;
93
+ /**
94
+ * @description Stroke width of the circular track in pixels.
95
+ * @default 6
96
+ */
97
+ readonly thickness: _angular_core.InputSignal<number>;
98
+ /**
99
+ * @description Additional CSS classes merged onto the host element via `tailwind-merge`.
100
+ * @default ""
101
+ */
102
+ readonly userClass: _angular_core.InputSignal<string>;
103
+ /**
104
+ * @description Current progress value within `[min, max]`. Values outside the range are clamped before rendering; non-finite values are treated as `0`.
105
+ * @default 0
106
+ */
107
+ readonly value: _angular_core.InputSignal<number>;
108
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CircularProgressBarComponent, never>;
109
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CircularProgressBarComponent, "mona-circular-progress-bar", never, { "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaValueText": { "alias": "aria-valuetext"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "thickness": { "alias": "thickness"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, ["labelTemplate"], never, true, never>;
110
+ }
111
+
112
+ export { CircularProgressBarComponent, CircularProgressBarLabelTemplateDirective };
113
+ export type { LabelTemplateContext };
@@ -0,0 +1,201 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Signal, ElementRef } from '@angular/core';
3
+ import { FormValueControl } from '@angular/forms/signals';
4
+ import { VariantInputs, HSV, RGB, HSVChannel, RGBChannel } from '@nanahoshi/mona-ui/internal';
5
+ import { ColorMode, ColorOutputFormat } from '@nanahoshi/mona-ui/common';
6
+ import { Subject } from 'rxjs';
7
+ import * as class_variance_authority_types from 'class-variance-authority/types';
8
+ import { VariantProps } from 'class-variance-authority';
9
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
10
+
11
+ interface ColorInput {
12
+ key: string;
13
+ label: string;
14
+ value: number | null;
15
+ min: number;
16
+ max: number;
17
+ change: (value: number | null) => void;
18
+ }
19
+
20
+ declare const colorGradientBaseThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
21
+ declare const colorGradientHsvRectangleThemeVariants: (theme: ThemeStyle) => (props?: ({
22
+ rounded?: "none" | "small" | "medium" | "large" | "full" | null | undefined;
23
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
24
+ declare const colorGradientHsvRectangleHandleThemeVariants: (theme: ThemeStyle) => (props?: ({
25
+ rounded?: "none" | "small" | "medium" | "large" | "full" | null | undefined;
26
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
27
+ declare const colorGradientPreviewThemeVariants: (theme: ThemeStyle) => (props?: ({
28
+ rounded?: "none" | "small" | "medium" | "large" | "full" | null | undefined;
29
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
30
+ declare const colorGradientSliderHandleThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
31
+ type ColorGradientBaseVariantProps = VariantProps<ReturnType<typeof colorGradientBaseThemeVariants>>;
32
+ type ColorGradientVaseVariantInput = VariantInputs<ColorGradientBaseVariantProps>;
33
+ type ColorGradientHsvRectangleVariantProps = VariantProps<ReturnType<typeof colorGradientHsvRectangleThemeVariants>>;
34
+ type ColorGradientHsvRectangleVariantInput = VariantInputs<ColorGradientHsvRectangleVariantProps>;
35
+ type ColorGradientHsvRectangleHandleVariantProps = VariantProps<ReturnType<typeof colorGradientHsvRectangleHandleThemeVariants>>;
36
+ type ColorGradientHsvRectangleHandleVariantInput = VariantInputs<ColorGradientHsvRectangleHandleVariantProps>;
37
+ type ColorGradientPreviewVariantProps = VariantProps<ReturnType<typeof colorGradientPreviewThemeVariants>>;
38
+ type ColorGradientPreviewVariantInput = VariantInputs<ColorGradientPreviewVariantProps>;
39
+ type ColorGradientSliderHandleVariantProps = VariantProps<ReturnType<typeof colorGradientSliderHandleThemeVariants>>;
40
+ type ColorGradientSliderHandleVariantInput = VariantInputs<ColorGradientSliderHandleVariantProps>;
41
+ type ColorGradientVariantProps = ColorGradientBaseVariantProps & ColorGradientHsvRectangleVariantProps & ColorGradientHsvRectangleHandleVariantProps & ColorGradientPreviewVariantProps & ColorGradientSliderHandleVariantProps;
42
+ type ColorGradientVariantInputs = ColorGradientVaseVariantInput & ColorGradientHsvRectangleVariantInput & ColorGradientHsvRectangleHandleVariantInput & ColorGradientPreviewVariantInput & ColorGradientSliderHandleVariantInput;
43
+
44
+ declare class ColorGradientComponent implements ColorGradientVariantInputs, FormValueControl<string | null | undefined> {
45
+ #private;
46
+ protected readonly alpha: _angular_core.WritableSignal<number>;
47
+ protected readonly alphaInputColor: Signal<string>;
48
+ protected readonly alphaSliderBackground: Signal<string>;
49
+ protected readonly baseClasses: Signal<string>;
50
+ protected readonly colorInputs: Signal<ColorInput[]>;
51
+ protected readonly colorMode: _angular_core.WritableSignal<ColorMode>;
52
+ protected readonly colorPreviewClasses: Signal<string>;
53
+ protected readonly colorPreviews: Signal<({
54
+ type: string;
55
+ color: string;
56
+ title: string;
57
+ onClick?: undefined;
58
+ } | {
59
+ type: string;
60
+ color: string;
61
+ title: string;
62
+ onClick: () => void;
63
+ })[]>;
64
+ protected readonly hex: Signal<string>;
65
+ protected readonly hexFocused: _angular_core.WritableSignal<boolean>;
66
+ protected readonly hsvHandle: Signal<ElementRef<HTMLDivElement>>;
67
+ protected readonly hsvHandleLeft: _angular_core.WritableSignal<number>;
68
+ protected readonly hsvHandleTop: _angular_core.WritableSignal<number>;
69
+ protected readonly hexInputValue: _angular_core.WritableSignal<string>;
70
+ protected readonly hsv: _angular_core.WritableSignal<HSV>;
71
+ protected readonly hsvRectangle: Signal<ElementRef<HTMLDivElement>>;
72
+ protected readonly hsvRectangleBackground: Signal<string>;
73
+ protected readonly hsvRectangleClasses: Signal<string>;
74
+ protected readonly hsvRectangleHandleClasses: Signal<string>;
75
+ protected readonly hueValue$: Subject<number>;
76
+ protected readonly invalidState: Signal<boolean>;
77
+ protected readonly lastSelectedColor: _angular_core.WritableSignal<string>;
78
+ protected readonly rgb: _angular_core.WritableSignal<RGB>;
79
+ protected readonly selectedColor: Signal<string>;
80
+ protected readonly sliderHandleClasses: Signal<string>;
81
+ protected readonly sliderHeight = 10;
82
+ /**
83
+ * @description Emits when the Apply button is clicked.
84
+ * The `Apply` button is only displayed when `showButtons` is set to true.
85
+ */
86
+ readonly apply: _angular_core.OutputEmitterRef<void>;
87
+ /**
88
+ * @description Emits when the Cancel button is clicked.
89
+ * The `Cancel` button is only displayed when `showButtons` is set to true.
90
+ */
91
+ readonly cancel: _angular_core.OutputEmitterRef<void>;
92
+ /**
93
+ * @description Sets the disabled state of the color gradient.
94
+ * @default false
95
+ */
96
+ readonly disabled: _angular_core.InputSignal<boolean>;
97
+ /**
98
+ * @description Specifies the format of the color output.
99
+ * @default "hex"
100
+ */
101
+ readonly format: _angular_core.InputSignal<ColorOutputFormat>;
102
+ /**
103
+ * @description Marks the color gradient as invalid. When bound to a signal form field via `[field]`,
104
+ * this is written by the signal forms `Field` directive.
105
+ * @default false
106
+ */
107
+ readonly invalid: _angular_core.InputSignal<boolean>;
108
+ /**
109
+ * @description Specifies whether the color picker should display the alpha slider.
110
+ * @default true
111
+ */
112
+ readonly opacity: _angular_core.InputSignal<boolean>;
113
+ /**
114
+ * @description Marks the color gradient as required for form validation.
115
+ * @default false
116
+ */
117
+ readonly required: _angular_core.InputSignal<boolean>;
118
+ /**
119
+ * @description Specifies the rounded variant of the color picker.
120
+ * @default "medium"
121
+ */
122
+ readonly rounded: _angular_core.InputSignal<"none" | "small" | "medium" | "large" | "full" | null | undefined>;
123
+ /**
124
+ * @description Specifies whether the color picker should display the buttons.
125
+ * When set to true, the color picker will display the "Apply" and "Cancel" buttons.
126
+ * When set to false, the color picker will not display the buttons and will emit the color value on change.
127
+ * @default true
128
+ */
129
+ readonly showButtons: _angular_core.InputSignal<boolean>;
130
+ /**
131
+ * @description Specifies whether the color picker should display the hex input.
132
+ * @default true
133
+ */
134
+ readonly showHexInput: _angular_core.InputSignal<boolean>;
135
+ /**
136
+ * @description Specifies whether the color picker should display the channel inputs (RGB or HSV).
137
+ * @default true
138
+ */
139
+ readonly showColorInputs: _angular_core.InputSignal<boolean>;
140
+ /**
141
+ * @description Emitted when the color gradient is interacted with on blur or value adjustment.
142
+ * The `FormField` directive listens to this to mark the field as touched.
143
+ */
144
+ readonly touch: _angular_core.OutputEmitterRef<void>;
145
+ /**
146
+ * @description Marks the color gradient as touched. When bound to a signal form field via `[field]`,
147
+ * this is written by the signal forms `Field` directive.
148
+ * @default false
149
+ */
150
+ readonly touched: _angular_core.InputSignal<boolean>;
151
+ /**
152
+ * @description Two-way bindable current color value.
153
+ * When undefined, the component keeps its default internal color state (white, #ffffffff).
154
+ * @default undefined
155
+ */
156
+ readonly value: _angular_core.ModelSignal<string | null | undefined>;
157
+ constructor();
158
+ protected onAlphaChange(value: number | null): void;
159
+ protected onApply(): void;
160
+ protected onCancel(): void;
161
+ protected onClearClick(): void;
162
+ protected onCopyColorSelect(mode: "hex" | "rgb"): void;
163
+ protected onHexChange(value: string): void;
164
+ protected onHexInputBlur(): void;
165
+ protected onHexInputFocus(): void;
166
+ protected onHsvChange(value: number | null, channel: HSVChannel): void;
167
+ protected onHsvHandleBlur(): void;
168
+ protected onHsvHandleKeyDown(event: KeyboardEvent): void;
169
+ protected onNumericInputBlur(): void;
170
+ protected onPreviousColorKeyDown(event: KeyboardEvent, handler?: () => void): void;
171
+ protected onResetColorClick(): void;
172
+ protected onRgbChange(value: number | null, channel: RGBChannel): void;
173
+ protected onSliderBlur(): void;
174
+ protected onSwitchColorModeClick(): void;
175
+ private afterNextRender;
176
+ private clear;
177
+ private createHsvInputList;
178
+ private createRgbInputList;
179
+ private emitValue;
180
+ private getPositionFromSaturation;
181
+ private getPositionFromValue;
182
+ private getSaturationFromPosition;
183
+ private getValidChannelValue;
184
+ private getValueFromPosition;
185
+ private loadColorFromString;
186
+ private setHsvRectPointerEvents;
187
+ private setSubscriptions;
188
+ private syncValue;
189
+ private updateHexInputValue;
190
+ private updateHsv;
191
+ private updateHsvRectPointerPosition;
192
+ private updateHsvValues;
193
+ private updateOtherNullChannels;
194
+ private updateRgb;
195
+ private updateRgbFromHsv;
196
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorGradientComponent, never>;
197
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorGradientComponent, "mona-color-gradient", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "opacity": { "alias": "opacity"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "showButtons": { "alias": "showButtons"; "required": false; "isSignal": true; }; "showHexInput": { "alias": "showHexInput"; "required": false; "isSignal": true; }; "showColorInputs": { "alias": "showColorInputs"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "apply": "apply"; "cancel": "cancel"; "touch": "touch"; "value": "valueChange"; }, never, never, true, never>;
198
+ }
199
+
200
+ export { ColorGradientComponent };
201
+ export type { ColorGradientVariantProps };