@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,89 @@
1
+ import { Predicate, OrderComparator, Selector } from '@mirei/ts-collections';
2
+
3
+ type CommonFilterOperators = "eq" | "neq";
4
+ type NullFilterOperators = "isnull" | "isnotnull";
5
+ type EmptyFilterOperators = "isempty" | "isnotempty";
6
+ type NullOrEmptyFilterOperators = "isnullorempty" | "isnotnullorempty";
7
+ type BooleanFilterOperators = "istrue" | "isfalse" | NullFilterOperators;
8
+ type NumericFilterOperators = CommonFilterOperators | "gt" | "gte" | "lt" | "lte" | NullFilterOperators;
9
+ type StringFilterOperators = CommonFilterOperators | "startswith" | "endswith" | "contains" | "doesnotcontain" | NullFilterOperators | EmptyFilterOperators | NullOrEmptyFilterOperators;
10
+ type DateFilterOperators = NumericFilterOperators | NullFilterOperators;
11
+ type ArrayFilterOperators = "in" | "notin";
12
+ type RangeFilterOperators = "between" | "notbetween";
13
+ type FunctionFilterOperators = "function";
14
+ type FilterOperators = CommonFilterOperators | BooleanFilterOperators | NumericFilterOperators | StringFilterOperators | DateFilterOperators | NullFilterOperators | EmptyFilterOperators | NullOrEmptyFilterOperators | ArrayFilterOperators | RangeFilterOperators | FunctionFilterOperators;
15
+ type FieldDefinition = {
16
+ field: string;
17
+ };
18
+ type CommonFilterDescriptor = FieldDefinition & {
19
+ operator: CommonFilterOperators;
20
+ value: any;
21
+ };
22
+ type NullFilterDescriptor = FieldDefinition & {
23
+ operator: NullFilterOperators;
24
+ };
25
+ type EmptyFilterDescriptor = FieldDefinition & {
26
+ operator: EmptyFilterOperators;
27
+ };
28
+ type NullOrEmptyFilterDescriptor = FieldDefinition & {
29
+ operator: NullOrEmptyFilterOperators;
30
+ };
31
+ type BooleanFilterDescriptor = FieldDefinition & ({
32
+ operator: BooleanFilterOperators;
33
+ } | NullFilterDescriptor);
34
+ type NumericFilterDescriptor = FieldDefinition & ({
35
+ operator: NumericFilterOperators;
36
+ value: number;
37
+ } | NullFilterDescriptor);
38
+ type StringFilterDescriptor = FieldDefinition & ({
39
+ operator: StringFilterOperators;
40
+ value: string;
41
+ } | NullFilterDescriptor | EmptyFilterDescriptor | NullOrEmptyFilterDescriptor);
42
+ type DateFilterDescriptor = FieldDefinition & ({
43
+ operator: DateFilterOperators;
44
+ value: Date;
45
+ } | NullFilterDescriptor);
46
+ type ArrayFilterDescriptor = FieldDefinition & {
47
+ operator: ArrayFilterOperators;
48
+ value: any[];
49
+ };
50
+ type RangeFilterDescriptor = FieldDefinition & {
51
+ operator: RangeFilterOperators;
52
+ value: [number, number];
53
+ };
54
+ type FunctionFilterDescriptor = FieldDefinition & {
55
+ operator: FunctionFilterOperators;
56
+ predicate: Predicate<any>;
57
+ };
58
+ type FilterDescriptor = CommonFilterDescriptor | BooleanFilterDescriptor | NumericFilterDescriptor | StringFilterDescriptor | DateFilterDescriptor | NullFilterDescriptor | EmptyFilterDescriptor | NullOrEmptyFilterDescriptor | ArrayFilterDescriptor | RangeFilterDescriptor | FunctionFilterDescriptor;
59
+ type FilterLogic = "and" | "or";
60
+ interface CompositeFilterDescriptor {
61
+ logic: FilterLogic;
62
+ filters: Array<FilterDescriptor | CompositeFilterDescriptor>;
63
+ }
64
+
65
+ interface SortDescriptor<T = any> {
66
+ dir: SortDirection;
67
+ field: string;
68
+ sort?: OrderComparator<T>;
69
+ }
70
+ type SortDirection = "asc" | "desc";
71
+
72
+ interface IQuery<T> extends Iterable<T> {
73
+ filter<R>(filter: FilterDescriptor | CompositeFilterDescriptor, fieldSelector?: Selector<T, R>): IQuery<T>;
74
+ run(): T[];
75
+ sort<R>(descriptor: SortDescriptor<T>[], fieldSelector?: Selector<T, R>): IQuery<T>;
76
+ }
77
+ declare class Query<T> implements IQuery<T> {
78
+ #private;
79
+ private readonly iterable;
80
+ private constructor();
81
+ [Symbol.iterator](): Iterator<T>;
82
+ static from<T>(iterable: Iterable<T>): IQuery<T>;
83
+ filter<R>(filter: FilterDescriptor | CompositeFilterDescriptor, fieldSelector?: Selector<T, R>): IQuery<T>;
84
+ run(): T[];
85
+ sort<R>(descriptor: SortDescriptor<T>[], fieldSelector?: Selector<T, R>): IQuery<T>;
86
+ }
87
+
88
+ export { Query };
89
+ export type { ArrayFilterDescriptor, ArrayFilterOperators, BooleanFilterDescriptor, BooleanFilterOperators, CommonFilterDescriptor, CommonFilterOperators, CompositeFilterDescriptor, DateFilterDescriptor, DateFilterOperators, EmptyFilterDescriptor, EmptyFilterOperators, FieldDefinition, FilterDescriptor, FilterLogic, FilterOperators, FunctionFilterDescriptor, FunctionFilterOperators, NullFilterDescriptor, NullFilterOperators, NullOrEmptyFilterDescriptor, NullOrEmptyFilterOperators, NumericFilterDescriptor, NumericFilterOperators, RangeFilterDescriptor, RangeFilterOperators, SortDescriptor, SortDirection, StringFilterDescriptor, StringFilterOperators };
@@ -0,0 +1,128 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { FormValueControl } 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 radioButtonCircleThemeVariants: (theme: ThemeStyle) => (props?: ({
9
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare const radioButtonIndicatorThemeVariants: (theme: ThemeStyle) => (props?: ({
12
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
13
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
14
+ declare const radioButtonContainerLabelThemeVariants: (theme: ThemeStyle) => (props?: ({
15
+ labelSize?: "large" | "medium" | "small" | null | undefined;
16
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
17
+ declare const radioButtonDirectiveThemeVariants: (theme: ThemeStyle) => (props?: ({
18
+ rounded?: "full" | "large" | "medium" | "none" | "small" | null | undefined;
19
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
20
+ type RadioButtonContainerLabelVariantProps = VariantProps<ReturnType<typeof radioButtonContainerLabelThemeVariants>>;
21
+ type RadioButtonContainerLabelVariantInput = VariantInputs<RadioButtonContainerLabelVariantProps>;
22
+ type RadioButtonCircleVariantProps = VariantProps<ReturnType<typeof radioButtonCircleThemeVariants>>;
23
+ type RadioButtonCircleVariantInput = VariantInputs<RadioButtonCircleVariantProps>;
24
+ type RadioButtonIndicatorVariantProps = VariantProps<ReturnType<typeof radioButtonIndicatorThemeVariants>>;
25
+ type RadioButtonIndicatorVariantInput = VariantInputs<RadioButtonIndicatorVariantProps>;
26
+ type RadioButtonVariantProps = RadioButtonContainerLabelVariantProps & RadioButtonCircleVariantProps & RadioButtonIndicatorVariantProps;
27
+ type RadioButtonVariantInput = RadioButtonContainerLabelVariantInput & RadioButtonCircleVariantInput & RadioButtonIndicatorVariantInput;
28
+ type RadioButtonDirectiveProps = VariantProps<ReturnType<typeof radioButtonDirectiveThemeVariants>>;
29
+ type RadioButtonDirectiveInput = VariantInputs<RadioButtonDirectiveProps>;
30
+
31
+ declare class RadioButtonComponent implements RadioButtonVariantInput, FormValueControl<unknown> {
32
+ #private;
33
+ protected readonly containerLabelClasses: _angular_core.Signal<string>;
34
+ protected readonly radioButtonCircleClasses: _angular_core.Signal<string>;
35
+ protected readonly radioButtonClasses: _angular_core.Signal<string>;
36
+ protected readonly radioButtonIndicatorClasses: _angular_core.Signal<string>;
37
+ /**
38
+ * @description Sets the disabled state of the radio button.
39
+ * @default false
40
+ */
41
+ readonly disabled: _angular_core.InputSignal<boolean>;
42
+ /**
43
+ * @description Emits when the input loses focus.
44
+ */
45
+ readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
46
+ /**
47
+ * @description Emits when the input is clicked.
48
+ */
49
+ readonly inputClick: _angular_core.OutputEmitterRef<MouseEvent>;
50
+ /**
51
+ * @description Emits when the input receives focus.
52
+ */
53
+ readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
54
+ /**
55
+ * @description Marks the radio button as invalid. When bound to a signal form field via `[field]`,
56
+ * this is written by the signal forms `Field` directive.
57
+ * @default false
58
+ */
59
+ readonly invalid: _angular_core.InputSignal<boolean>;
60
+ /**
61
+ * @description Text label displayed alongside the radio button.
62
+ * When provided, takes precedence over projected content.
63
+ * When empty, projected content inside `<mona-radio-button>` is used.
64
+ * When both are absent, the radio button has no accessible name — always provide one.
65
+ * @default ""
66
+ */
67
+ readonly label: _angular_core.InputSignal<string>;
68
+ /**
69
+ * @description Position of the label relative to the radio button circle.
70
+ * @default "after"
71
+ */
72
+ readonly labelPosition: _angular_core.InputSignal<"before" | "after">;
73
+ /**
74
+ * @description Font size applied to the label text.
75
+ * @default "medium"
76
+ */
77
+ readonly labelSize: _angular_core.InputSignal<"large" | "medium" | "small" | null | undefined>;
78
+ /**
79
+ * @description HTML `name` attribute forwarded to the native input.
80
+ * Radio buttons that share the same `name` form a mutually exclusive group in the browser.
81
+ * @default ""
82
+ */
83
+ readonly name: _angular_core.InputSignal<string>;
84
+ /**
85
+ * @description The identity value of this radio button within a group.
86
+ * Compared against `value()` to determine whether this button is selected.
87
+ * When this button is chosen, its `radioValue` is written to the form as the new group value.
88
+ * @default undefined
89
+ */
90
+ readonly radioValue: _angular_core.InputSignal<any>;
91
+ /**
92
+ * @description Sets the border radius of the radio button circle and indicator.
93
+ * @default "full"
94
+ */
95
+ readonly rounded: _angular_core.InputSignal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
96
+ readonly touch: _angular_core.OutputEmitterRef<void>;
97
+ /**
98
+ * @description Additional CSS classes merged onto the label container element via `tailwind-merge`.
99
+ * @default ""
100
+ */
101
+ readonly userClass: _angular_core.InputSignal<string>;
102
+ /**
103
+ * @description The currently selected value in the radio group.
104
+ * When bound via `[control]` (signal forms), the `Field` directive keeps this in sync with the form field.
105
+ * When bound via `[(ngModel)]` or `[formControl]`, the CVA layer manages this value.
106
+ * @default undefined
107
+ */
108
+ readonly value: _angular_core.ModelSignal<any>;
109
+ protected onBlur(event: FocusEvent): void;
110
+ protected onSelectionChange(): void;
111
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonComponent, never>;
112
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonComponent, "mona-radio-button", never, { "disabled": { "alias": "disabled"; "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; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "radioValue": { "alias": "radioValue"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "inputBlur": "inputBlur"; "inputClick": "inputClick"; "inputFocus": "inputFocus"; "touch": "touch"; "value": "valueChange"; }, never, ["*"], true, never>;
113
+ }
114
+
115
+ declare class RadioButtonDirective implements RadioButtonDirectiveInput {
116
+ #private;
117
+ protected readonly classes: _angular_core.Signal<string>;
118
+ /**
119
+ * @description Sets the border radius of the radio button.
120
+ * @default "none"
121
+ */
122
+ readonly rounded: _angular_core.InputSignal<"full" | "large" | "medium" | "none" | "small" | null | undefined>;
123
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonDirective, never>;
124
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RadioButtonDirective, "input[type='radio'][monaRadioButton]", never, { "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
125
+ }
126
+
127
+ export { RadioButtonComponent, RadioButtonDirective };
128
+ export type { RadioButtonVariantProps };
@@ -0,0 +1,166 @@
1
+ import * as _mirei_ts_collections from '@mirei/ts-collections';
2
+ import * as _angular_core from '@angular/core';
3
+ import { TemplateRef, ElementRef } from '@angular/core';
4
+ import { ScrollDirection } from '@nanahoshi/mona-ui/common';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+ import { ThemeStyle } from '@nanahoshi/mona-ui/theme';
7
+ import { VariantProps } from 'class-variance-authority';
8
+ import { VariantInputs } from '@nanahoshi/mona-ui/internal';
9
+
10
+ type PagerOverlay = "dark" | "light" | "none";
11
+
12
+ interface ScrollViewListItem {
13
+ data: unknown;
14
+ }
15
+
16
+ declare const scrollViewBaseThemeVariants: (theme: ThemeStyle) => (props?: ({
17
+ rounded?: "small" | "medium" | "large" | "none" | null | undefined;
18
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
19
+ declare const scrollViewContentThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
20
+ declare const scrollViewListThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
21
+ declare const scrollViewArrowThemeVariants: (theme: ThemeStyle) => (props?: ({
22
+ hidden?: boolean | null | undefined;
23
+ left?: boolean | null | undefined;
24
+ right?: boolean | null | undefined;
25
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
26
+ declare const scrollViewPagerThemeVariants: (theme: ThemeStyle) => (props?: ({
27
+ pagerOverlay?: "none" | "dark" | "light" | null | undefined;
28
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
29
+ declare const scrollViewPagerListContainerThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
30
+ declare const scrollViewPagerListThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
31
+ declare const scrollViewPagerListItemThemeVariants: (theme: ThemeStyle) => (props?: ({
32
+ active?: boolean | null | undefined;
33
+ pagerRounded?: "small" | "medium" | "large" | "none" | "full" | null | undefined;
34
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
35
+ declare const scrollViewPagerArrowThemeVariants: (theme: ThemeStyle) => (props?: class_variance_authority_types.ClassProp | undefined) => string;
36
+ type ScrollViewBaseVariantProps = VariantProps<ReturnType<typeof scrollViewBaseThemeVariants>>;
37
+ type ScrollViewBaseVariantInput = VariantInputs<ScrollViewBaseVariantProps>;
38
+ type ScrollViewContentVariantProps = VariantProps<ReturnType<typeof scrollViewContentThemeVariants>>;
39
+ type ScrollViewContentVariantInput = VariantInputs<ScrollViewContentVariantProps>;
40
+ type ScrollViewListVariantProps = VariantProps<ReturnType<typeof scrollViewListThemeVariants>>;
41
+ type ScrollViewListVariantInput = VariantInputs<ScrollViewListVariantProps>;
42
+ type ScrollViewPagerVariantProps = VariantProps<ReturnType<typeof scrollViewPagerThemeVariants>>;
43
+ type ScrollViewPagerVariantInput = VariantInputs<ScrollViewPagerVariantProps>;
44
+ type ScrollViewPagerListContainerVariantProps = VariantProps<ReturnType<typeof scrollViewPagerListContainerThemeVariants>>;
45
+ type ScrollViewPagerListContainerVariantInput = VariantInputs<ScrollViewPagerListContainerVariantProps>;
46
+ type ScrollViewPagerListVariantProps = VariantProps<ReturnType<typeof scrollViewPagerListThemeVariants>>;
47
+ type ScrollViewPagerListVariantInput = VariantInputs<ScrollViewPagerListVariantProps>;
48
+ type ScrollViewPagerListItemVariantProps = VariantProps<ReturnType<typeof scrollViewPagerListItemThemeVariants>>;
49
+ type ScrollViewPagerListItemVariantInput = VariantInputs<ScrollViewPagerListItemVariantProps>;
50
+ type ScrollViewArrowVariantProps = VariantProps<ReturnType<typeof scrollViewArrowThemeVariants>>;
51
+ type ScrollViewArrowVariantInput = VariantInputs<ScrollViewArrowVariantProps>;
52
+ type ScrollViewPagerArrowVariantProps = VariantProps<ReturnType<typeof scrollViewPagerArrowThemeVariants>>;
53
+ type ScrollViewPagerArrowVariantInput = VariantInputs<ScrollViewPagerArrowVariantProps>;
54
+ type ScrollViewVariantInput = ScrollViewBaseVariantInput & ScrollViewContentVariantInput & ScrollViewListVariantInput & Omit<ScrollViewArrowVariantInput, "hidden" | "left" | "right"> & ScrollViewPagerVariantInput & ScrollViewPagerListContainerVariantInput & ScrollViewPagerListVariantInput & Omit<ScrollViewPagerListItemVariantInput, "active"> & ScrollViewPagerArrowVariantInput;
55
+
56
+ declare class ScrollViewComponent implements ScrollViewVariantInput {
57
+ #private;
58
+ protected readonly animationDuration: _angular_core.Signal<number>;
59
+ protected readonly baseClass: _angular_core.Signal<string>;
60
+ protected readonly contentClass: _angular_core.Signal<string>;
61
+ protected readonly contentTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
62
+ protected readonly enterAnimation: _angular_core.Signal<"slide-in-from-right" | "slide-in-from-left">;
63
+ protected readonly itemCount: _angular_core.Signal<number>;
64
+ protected readonly leaveAnimation: _angular_core.Signal<"slide-out-to-left" | "slide-out-to-right">;
65
+ protected readonly leftArrowClass: _angular_core.Signal<string>;
66
+ protected readonly listClass: _angular_core.Signal<string>;
67
+ protected readonly pagerArrowClass: _angular_core.Signal<string>;
68
+ protected readonly pagerArrowVisible: _angular_core.WritableSignal<boolean>;
69
+ protected readonly pagerClass: _angular_core.Signal<string>;
70
+ protected readonly pagerListClass: _angular_core.Signal<string>;
71
+ protected readonly pagerListContainerClass: _angular_core.Signal<string>;
72
+ protected readonly pagerListElementRef: _angular_core.Signal<ElementRef<HTMLUListElement> | undefined>;
73
+ protected readonly rightArrowClass: _angular_core.Signal<string>;
74
+ protected readonly scrollViewHeight: _angular_core.Signal<string>;
75
+ protected readonly scrollViewWidth: _angular_core.Signal<string>;
76
+ protected readonly viewData: _angular_core.Signal<_mirei_ts_collections.ImmutableSet<ScrollViewListItem>>;
77
+ protected readonly viewIndex: _angular_core.Signal<number>;
78
+ protected readonly ariaLabel: _angular_core.Signal<string | undefined>;
79
+ /**
80
+ * @description Sets whether page transitions are animated.
81
+ * Pass a boolean for default duration (500ms) or a number for custom duration in milliseconds.
82
+ * @default true
83
+ */
84
+ readonly animate: _angular_core.InputSignal<number | boolean>;
85
+ /**
86
+ * @description Represents the state of arrows' visibility or activity.
87
+ * @default false
88
+ */
89
+ readonly arrows: _angular_core.InputSignal<boolean>;
90
+ /**
91
+ * @description Sets the data of the scroll view.
92
+ */
93
+ readonly data: _angular_core.InputSignal<Iterable<unknown>>;
94
+ /**
95
+ * @description Sets the height of the scroll view.
96
+ * This property is required.
97
+ */
98
+ readonly height: _angular_core.InputSignal<string | number>;
99
+ /**
100
+ * @description Sets the active page of the scroll view.
101
+ * @default 0
102
+ */
103
+ readonly index: _angular_core.ModelSignal<number>;
104
+ /**
105
+ * @description Sets whether the scroll view is infinite.
106
+ * @default false
107
+ */
108
+ readonly infinite: _angular_core.InputSignal<boolean>;
109
+ /**
110
+ * @description Sets whether the pager is visible.
111
+ */
112
+ readonly pageable: _angular_core.InputSignal<boolean>;
113
+ /**
114
+ * @description Sets the background blur of the pager in pixels.
115
+ * @default 3
116
+ */
117
+ readonly pagerBlur: _angular_core.InputSignal<number>;
118
+ /**
119
+ * @description Sets the color of the pager.
120
+ * @default "dark"
121
+ */
122
+ readonly pagerOverlay: _angular_core.InputSignal<PagerOverlay>;
123
+ /**
124
+ * @description Sets the border radius of the pager items.
125
+ * @default "medium"
126
+ */
127
+ readonly pagerRounded: _angular_core.InputSignal<"small" | "medium" | "large" | "none" | "full" | null | undefined>;
128
+ /**
129
+ * @description Sets the border radius of the scroll view.
130
+ * @default "medium"
131
+ */
132
+ readonly rounded: _angular_core.InputSignal<"small" | "medium" | "large" | "none" | null | undefined>;
133
+ /**
134
+ * @description Sets custom CSS classes on the component host element. Merged with base classes via tailwind-merge.
135
+ */
136
+ readonly userClass: _angular_core.InputSignal<string>;
137
+ /**
138
+ * @description Sets the width of the scroll view.
139
+ */
140
+ readonly width: _angular_core.InputSignal<string | number>;
141
+ constructor();
142
+ protected onArrowClick(direction: ScrollDirection): void;
143
+ protected onPageClick(index: number, element: HTMLButtonElement): void;
144
+ protected onPagerScroll(element: HTMLUListElement, direction: ScrollDirection, type: "single" | "continuous"): void;
145
+ protected onPagerScrollEnd(): void;
146
+ private navigate;
147
+ private navigateLeft;
148
+ private navigateRight;
149
+ private scrollActivePageIntoView;
150
+ private setPagerListResizeObserver;
151
+ private setSubscriptions;
152
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollViewComponent, never>;
153
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollViewComponent, "mona-scroll-view", never, { "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "arrows": { "alias": "arrows"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": false; "isSignal": true; }; "infinite": { "alias": "infinite"; "required": false; "isSignal": true; }; "pageable": { "alias": "pageable"; "required": false; "isSignal": true; }; "pagerBlur": { "alias": "pagerBlur"; "required": false; "isSignal": true; }; "pagerOverlay": { "alias": "pagerOverlay"; "required": false; "isSignal": true; }; "pagerRounded": { "alias": "pagerRounded"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": true; "isSignal": true; }; }, { "index": "indexChange"; }, ["contentTemplate"], never, true, never>;
154
+ }
155
+
156
+ declare class ScrollViewActivePageDirective {
157
+ #private;
158
+ protected readonly pageItemClass: _angular_core.Signal<string>;
159
+ readonly active: _angular_core.InputSignal<boolean>;
160
+ readonly rounded: _angular_core.InputSignal<"small" | "medium" | "large" | "none" | "full" | null | undefined>;
161
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollViewActivePageDirective, never>;
162
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollViewActivePageDirective, "button[monaScrollViewActivePage]", never, { "active": { "alias": "active"; "required": true; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
163
+ }
164
+
165
+ export { ScrollViewActivePageDirective, ScrollViewComponent };
166
+ export type { PagerOverlay };