@nanahoshi/mona-ui 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +11 -11
  2. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +17 -17
  3. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +26 -26
  4. package/fesm2022/nanahoshi-mona-ui-button.mjs +109 -107
  5. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +53 -53
  6. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +80 -80
  7. package/fesm2022/nanahoshi-mona-ui-chip.mjs +98 -98
  8. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +2 -2
  9. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +38 -38
  10. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +25 -25
  11. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +41 -37
  12. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +17 -19
  13. package/fesm2022/nanahoshi-mona-ui-date-input.mjs +6 -6
  14. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +11 -13
  15. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +18 -20
  16. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +40 -40
  17. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +14 -16
  18. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +52 -52
  19. package/fesm2022/nanahoshi-mona-ui-editor.mjs +462 -81
  20. package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +26 -26
  21. package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +8 -8
  22. package/fesm2022/nanahoshi-mona-ui-filter.mjs +14 -14
  23. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs → nanahoshi-mona-ui-grid-grid-footer-cell.component-B2ETh-uI.mjs} +14 -14
  24. package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs → nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DZk18LJC.mjs} +2 -2
  25. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-C7WKhhig.mjs +128 -0
  26. package/fesm2022/{nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs → nanahoshi-mona-ui-grid-grid-toggle.component-BRiY0CDX.mjs} +13 -13
  27. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-BrYpFMyF.mjs +240 -0
  28. package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-T9Bj98kl.mjs} +120 -120
  29. package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
  30. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +81 -81
  31. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +35 -35
  32. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +8 -8
  33. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +7 -7
  34. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +50 -50
  35. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +12 -14
  36. package/fesm2022/nanahoshi-mona-ui-notification.mjs +24 -24
  37. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +69 -69
  38. package/fesm2022/nanahoshi-mona-ui-pager.mjs +29 -29
  39. package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +9 -9
  40. package/fesm2022/nanahoshi-mona-ui-popover.mjs +12 -12
  41. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +26 -26
  42. package/fesm2022/nanahoshi-mona-ui-popup.mjs +4 -4
  43. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +2 -2
  44. package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +55 -55
  45. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +49 -49
  46. package/fesm2022/nanahoshi-mona-ui-slider.mjs +96 -96
  47. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +30 -30
  48. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +24 -24
  49. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +29 -29
  50. package/fesm2022/nanahoshi-mona-ui-switch.mjs +42 -42
  51. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +35 -39
  52. package/fesm2022/nanahoshi-mona-ui-text-area.mjs +22 -22
  53. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +54 -54
  54. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +11 -19
  55. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +29 -29
  56. package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +51 -51
  57. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +2 -2
  58. package/fesm2022/nanahoshi-mona-ui-window.mjs +27 -28
  59. package/package.json +30 -5
  60. package/types/nanahoshi-mona-ui-button.d.ts +4 -3
  61. package/types/nanahoshi-mona-ui-color-picker.d.ts +0 -3
  62. package/types/nanahoshi-mona-ui-dialog.d.ts +2 -2
  63. package/types/nanahoshi-mona-ui-editor.d.ts +17 -17
  64. package/types/nanahoshi-mona-ui-fieldset.d.ts +1 -1
  65. package/types/nanahoshi-mona-ui-filter.d.ts +2 -2
  66. package/types/nanahoshi-mona-ui-grid.d.ts +3 -3
  67. package/types/nanahoshi-mona-ui-internal-tree.d.ts +16 -16
  68. package/types/nanahoshi-mona-ui-menubar.d.ts +2 -2
  69. package/types/nanahoshi-mona-ui-stepper.d.ts +2 -2
  70. package/types/nanahoshi-mona-ui-tabs.d.ts +2 -2
  71. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +0 -130
  72. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +0 -240
@@ -24,11 +24,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
24
24
  }]
25
25
  }] });
26
26
 
27
- const chipVariants = cva(`
28
- inline-flex items-center justify-between gap-1.5
29
- text-xs font-medium cursor-pointer shrink-0
30
- outline-none shadow-xs
31
- transition-colors duration-200 ease-in-out
27
+ const chipVariants = cva(`
28
+ inline-flex items-center justify-between gap-1.5
29
+ text-xs font-medium cursor-pointer shrink-0
30
+ outline-none shadow-xs
31
+ transition-colors duration-200 ease-in-out
32
32
  `, {
33
33
  variants: {
34
34
  disabled: {
@@ -36,59 +36,59 @@ const chipVariants = cva(`
36
36
  false: ""
37
37
  },
38
38
  look: {
39
- default: `
40
- bg-background text-foreground
41
- border border-border
42
- hover:bg-hover hover:text-accent-foreground
43
- active:bg-active active:text-accent-foreground
44
- focus-visible:ring-2 focus-visible:ring-primary/40
39
+ default: `
40
+ bg-background text-foreground
41
+ border border-border
42
+ hover:bg-hover hover:text-accent-foreground
43
+ active:bg-active active:text-accent-foreground
44
+ focus-visible:ring-2 focus-visible:ring-primary/40
45
45
  `,
46
- primary: `
47
- bg-primary text-primary-foreground
48
- hover:bg-primary-hover hover:text-primary-foreground
49
- active:bg-primary-active active:text-primary-foreground
50
- focus-visible:ring-2 focus-visible:ring-primary/40
46
+ primary: `
47
+ bg-primary text-primary-foreground
48
+ hover:bg-primary-hover hover:text-primary-foreground
49
+ active:bg-primary-active active:text-primary-foreground
50
+ focus-visible:ring-2 focus-visible:ring-primary/40
51
51
  `,
52
- success: `
53
- bg-success text-success-foreground
54
- hover:bg-success-hover hover:text-success-foreground
55
- active:bg-success-active active:text-success-foreground
56
- focus-visible:ring-2 focus-visible:ring-success/40
52
+ success: `
53
+ bg-success text-success-foreground
54
+ hover:bg-success-hover hover:text-success-foreground
55
+ active:bg-success-active active:text-success-foreground
56
+ focus-visible:ring-2 focus-visible:ring-success/40
57
57
  `,
58
- error: `
59
- bg-error text-error-foreground
60
- hover:bg-error-hover hover:text-error-foreground
61
- active:bg-error-active active:text-error-foreground
62
- focus-visible:ring-2 focus-visible:ring-error/40
58
+ error: `
59
+ bg-error text-error-foreground
60
+ hover:bg-error-hover hover:text-error-foreground
61
+ active:bg-error-active active:text-error-foreground
62
+ focus-visible:ring-2 focus-visible:ring-error/40
63
63
  `,
64
- warning: `
65
- bg-warning text-warning-foreground
66
- hover:bg-warning-hover hover:text-warning-foreground
67
- active:bg-warning-active active:text-warning-foreground
68
- focus-visible:ring-2 focus-visible:ring-warning/40
64
+ warning: `
65
+ bg-warning text-warning-foreground
66
+ hover:bg-warning-hover hover:text-warning-foreground
67
+ active:bg-warning-active active:text-warning-foreground
68
+ focus-visible:ring-2 focus-visible:ring-warning/40
69
69
  `,
70
- info: `
71
- bg-info text-info-foreground
72
- hover:bg-info-hover hover:text-info-foreground
73
- active:bg-info-active active:text-info-foreground
74
- focus-visible:ring-2 focus-visible:ring-info/40
70
+ info: `
71
+ bg-info text-info-foreground
72
+ hover:bg-info-hover hover:text-info-foreground
73
+ active:bg-info-active active:text-info-foreground
74
+ focus-visible:ring-2 focus-visible:ring-info/40
75
75
  `,
76
- outline: `
77
- border border-border
78
- hover:bg-accent hover:text-accent-foreground
79
- active:bg-accent-dark active:text-accent-foreground
80
- focus-visible:ring-2 focus-visible:ring-primary/40
76
+ outline: `
77
+ border border-border
78
+ hover:bg-accent hover:text-accent-foreground
79
+ active:bg-accent-dark active:text-accent-foreground
80
+ focus-visible:ring-2 focus-visible:ring-primary/40
81
81
  `,
82
- secondary: `
83
- bg-secondary text-secondary-foreground
84
- hover:bg-secondary-hover hover:text-secondary-foreground
85
- active:bg-secondary-active active:text-secondary-foreground
86
- focus-visible:ring-2 focus-visible:ring-primary/40
82
+ secondary: `
83
+ bg-secondary text-secondary-foreground
84
+ hover:bg-secondary-hover hover:text-secondary-foreground
85
+ active:bg-secondary-active active:text-secondary-foreground
86
+ focus-visible:ring-2 focus-visible:ring-primary/40
87
87
  `,
88
- ghost: `
89
- hover:bg-secondary-hover hover:text-secondary-foreground
90
- active:bg-secondary-active active:text-secondary-foreground
91
- focus-visible:ring-2 focus-visible:ring-primary/40
88
+ ghost: `
89
+ hover:bg-secondary-hover hover:text-secondary-foreground
90
+ active:bg-secondary-active active:text-secondary-foreground
91
+ focus-visible:ring-2 focus-visible:ring-primary/40
92
92
  `
93
93
  },
94
94
  rounded: {
@@ -99,20 +99,20 @@ const chipVariants = cva(`
99
99
  small: "rounded-sm"
100
100
  },
101
101
  size: {
102
- small: `
103
- ps-1 pe-1 py-0.5
104
- [&_button[data-chip-remove='true']]:w-3
105
- [&_button[data-chip-remove='true']]:h-3
102
+ small: `
103
+ ps-1 pe-1 py-0.5
104
+ [&_button[data-chip-remove='true']]:w-3
105
+ [&_button[data-chip-remove='true']]:h-3
106
106
  `,
107
- medium: `
108
- ps-1.5 pe-1.5 py-1
109
- [&_button[data-chip-remove='true']]:w-4
110
- [&_button[data-chip-remove='true']]:h-4
107
+ medium: `
108
+ ps-1.5 pe-1.5 py-1
109
+ [&_button[data-chip-remove='true']]:w-4
110
+ [&_button[data-chip-remove='true']]:h-4
111
111
  `,
112
- large: `
113
- ps-2 pe-2 py-1.5
114
- [&_button[data-chip-remove='true']]:w-5
115
- [&_button[data-chip-remove='true']]:h-5
112
+ large: `
113
+ ps-2 pe-2 py-1.5
114
+ [&_button[data-chip-remove='true']]:w-5
115
+ [&_button[data-chip-remove='true']]:h-5
116
116
  `
117
117
  },
118
118
  selected: {
@@ -124,82 +124,82 @@ const chipVariants = cva(`
124
124
  {
125
125
  look: "default",
126
126
  selected: true,
127
- class: `
128
- bg-selected text-foreground
129
- hover:bg-selected/95 hover:text-foreground
130
- active:bg-selected/100 active:text-foreground
127
+ class: `
128
+ bg-selected text-foreground
129
+ hover:bg-selected/95 hover:text-foreground
130
+ active:bg-selected/100 active:text-foreground
131
131
  `
132
132
  },
133
133
  {
134
134
  look: "primary",
135
135
  selected: true,
136
- class: `
137
- bg-primary-selected text-primary-foreground
138
- hover:bg-primary-selected/95 hover:text-primary-foreground
139
- active:bg-primary-selected/100 active:text-primary-foreground
136
+ class: `
137
+ bg-primary-selected text-primary-foreground
138
+ hover:bg-primary-selected/95 hover:text-primary-foreground
139
+ active:bg-primary-selected/100 active:text-primary-foreground
140
140
  `
141
141
  },
142
142
  {
143
143
  look: "secondary",
144
144
  selected: true,
145
- class: `
146
- bg-secondary-selected text-secondary-foreground
147
- hover:bg-secondary-selected/95 hover:text-secondary-foreground
148
- active:bg-secondary-selected/100 active:text-secondary-foreground
145
+ class: `
146
+ bg-secondary-selected text-secondary-foreground
147
+ hover:bg-secondary-selected/95 hover:text-secondary-foreground
148
+ active:bg-secondary-selected/100 active:text-secondary-foreground
149
149
  `
150
150
  },
151
151
  {
152
152
  look: "success",
153
153
  selected: true,
154
- class: `
155
- bg-success-selected text-success-foreground
156
- hover:bg-success-selected/95 hover:text-success-foreground
157
- active:bg-success-selected/100 active:text-success-foreground
154
+ class: `
155
+ bg-success-selected text-success-foreground
156
+ hover:bg-success-selected/95 hover:text-success-foreground
157
+ active:bg-success-selected/100 active:text-success-foreground
158
158
  `
159
159
  },
160
160
  {
161
161
  look: "error",
162
162
  selected: true,
163
- class: `
164
- bg-error-selected text-error-foreground
165
- hover:bg-error-selected/95 hover:text-error-foreground
166
- active:bg-error-selected/100 active:text-error-foreground
163
+ class: `
164
+ bg-error-selected text-error-foreground
165
+ hover:bg-error-selected/95 hover:text-error-foreground
166
+ active:bg-error-selected/100 active:text-error-foreground
167
167
  `
168
168
  },
169
169
  {
170
170
  look: "warning",
171
171
  selected: true,
172
- class: `
173
- bg-warning-selected text-warning-foreground
174
- hover:bg-warning-selected/95 hover:text-warning-foreground
175
- active:bg-warning-selected/100 active:text-warning-foreground
172
+ class: `
173
+ bg-warning-selected text-warning-foreground
174
+ hover:bg-warning-selected/95 hover:text-warning-foreground
175
+ active:bg-warning-selected/100 active:text-warning-foreground
176
176
  `
177
177
  },
178
178
  {
179
179
  look: "info",
180
180
  selected: true,
181
- class: `
182
- bg-info-selected text-info-foreground
183
- hover:bg-info-selected/95 hover:text-info-foreground
184
- active:bg-info-selected/100 active:text-info-foreground
181
+ class: `
182
+ bg-info-selected text-info-foreground
183
+ hover:bg-info-selected/95 hover:text-info-foreground
184
+ active:bg-info-selected/100 active:text-info-foreground
185
185
  `
186
186
  },
187
187
  {
188
188
  look: "outline",
189
189
  selected: true,
190
- class: `
191
- bg-primary-selected text-primary-foreground
192
- hover:bg-primary-selected/95 hover:text-primary-foreground
193
- active:bg-primary-selected/100 active:text-primary-foreground
190
+ class: `
191
+ bg-primary-selected text-primary-foreground
192
+ hover:bg-primary-selected/95 hover:text-primary-foreground
193
+ active:bg-primary-selected/100 active:text-primary-foreground
194
194
  `
195
195
  },
196
196
  {
197
197
  look: "ghost",
198
198
  selected: true,
199
- class: `
200
- bg-secondary-selected text-secondary-foreground
201
- hover:bg-secondary-selected/95 hover:text-secondary-foreground
202
- active:bg-secondary-selected/100 active:text-secondary-foreground
199
+ class: `
200
+ bg-secondary-selected text-secondary-foreground
201
+ hover:bg-secondary-selected/95 hover:text-secondary-foreground
202
+ active:bg-secondary-selected/100 active:text-secondary-foreground
203
203
  `
204
204
  }
205
205
  ],
@@ -168,7 +168,7 @@ class CircularProgressBarComponent {
168
168
  }
169
169
  #themeService;
170
170
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CircularProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: CircularProgressBarComponent, isStandalone: true, selector: "mona-circular-progress-bar", inputs: { animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaValueText: { classPropertyName: "ariaValueText", publicName: "aria-valuetext", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "class": "baseClasses()", "attr.aria-busy": "indeterminate() || null", "attr.aria-label": "ariaLabel() || null", "attr.aria-valuemin": "indeterminate() ? null : min()", "attr.aria-valuemax": "indeterminate() ? null : max()", "attr.aria-valuenow": "indeterminate() ? null : value()", "attr.aria-valuetext": "ariaValueText() || null", "attr.aria-disabled": "disabled() || null", "attr.data-disabled": "disabled() || null", "style.width": "pixelSize()", "style.height": "pixelSize()" } }, queries: [{ propertyName: "labelTemplate", first: true, predicate: CircularProgressBarLabelTemplateDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<svg>\r\n <circle\r\n [attr.cx]=\"center().x\"\r\n [attr.cy]=\"center().y\"\r\n [attr.r]=\"radius()\"\r\n [attr.data-stroke-trail]=\"true\"\r\n [attr.stroke-dasharray]=\"circumference()\"\r\n [attr.stroke-width]=\"thickness()\"\r\n fill=\"transparent\" />\r\n <circle\r\n [attr.cx]=\"center().x\"\r\n [attr.cy]=\"center().y\"\r\n [attr.r]=\"radius()\"\r\n [attr.stroke]=\"strokeColor()\"\r\n [attr.stroke-dasharray]=\"circumference()\"\r\n [attr.stroke-dashoffset]=\"strokeDashOffset()\"\r\n [attr.stroke-width]=\"thickness()\"\r\n fill=\"transparent\"\r\n [class.indeterminate]=\"indeterminate()\" />\r\n</svg>\r\n@if (!indeterminate()) {\r\n <div class=\"mona-circular-progress-bar-label\">\r\n @if (labelTemplate()) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate()?.templateRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: value(), min: min(), max: max(), percent: progress() }\">\r\n </ng-container>\r\n } @else {\r\n {{ progress() }}\r\n }\r\n </div>\r\n}\r\n", styles: [".indeterminate{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: CircularProgressBarComponent, isStandalone: true, selector: "mona-circular-progress-bar", inputs: { animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaValueText: { classPropertyName: "ariaValueText", publicName: "aria-valuetext", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, userClass: { classPropertyName: "userClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "progressbar" }, properties: { "class": "baseClasses()", "attr.aria-busy": "indeterminate() || null", "attr.aria-label": "ariaLabel() || null", "attr.aria-valuemin": "indeterminate() ? null : min()", "attr.aria-valuemax": "indeterminate() ? null : max()", "attr.aria-valuenow": "indeterminate() ? null : value()", "attr.aria-valuetext": "ariaValueText() || null", "attr.aria-disabled": "disabled() || null", "attr.data-disabled": "disabled() || null", "style.width": "pixelSize()", "style.height": "pixelSize()" } }, queries: [{ propertyName: "labelTemplate", first: true, predicate: CircularProgressBarLabelTemplateDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<svg>\n <circle\n [attr.cx]=\"center().x\"\n [attr.cy]=\"center().y\"\n [attr.r]=\"radius()\"\n [attr.data-stroke-trail]=\"true\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-width]=\"thickness()\"\n fill=\"transparent\" />\n <circle\n [attr.cx]=\"center().x\"\n [attr.cy]=\"center().y\"\n [attr.r]=\"radius()\"\n [attr.stroke]=\"strokeColor()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"strokeDashOffset()\"\n [attr.stroke-width]=\"thickness()\"\n fill=\"transparent\"\n [class.indeterminate]=\"indeterminate()\" />\n</svg>\n@if (!indeterminate()) {\n <div class=\"mona-circular-progress-bar-label\">\n @if (labelTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate()?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: value(), min: min(), max: max(), percent: progress() }\">\n </ng-container>\n } @else {\n {{ progress() }}\n }\n </div>\n}\n", styles: [".indeterminate{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
172
172
  }
173
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: CircularProgressBarComponent, decorators: [{
174
174
  type: Component,
@@ -185,7 +185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
185
185
  role: "progressbar",
186
186
  "[style.width]": "pixelSize()",
187
187
  "[style.height]": "pixelSize()"
188
- }, template: "<svg>\r\n <circle\r\n [attr.cx]=\"center().x\"\r\n [attr.cy]=\"center().y\"\r\n [attr.r]=\"radius()\"\r\n [attr.data-stroke-trail]=\"true\"\r\n [attr.stroke-dasharray]=\"circumference()\"\r\n [attr.stroke-width]=\"thickness()\"\r\n fill=\"transparent\" />\r\n <circle\r\n [attr.cx]=\"center().x\"\r\n [attr.cy]=\"center().y\"\r\n [attr.r]=\"radius()\"\r\n [attr.stroke]=\"strokeColor()\"\r\n [attr.stroke-dasharray]=\"circumference()\"\r\n [attr.stroke-dashoffset]=\"strokeDashOffset()\"\r\n [attr.stroke-width]=\"thickness()\"\r\n fill=\"transparent\"\r\n [class.indeterminate]=\"indeterminate()\" />\r\n</svg>\r\n@if (!indeterminate()) {\r\n <div class=\"mona-circular-progress-bar-label\">\r\n @if (labelTemplate()) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"labelTemplate()?.templateRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: value(), min: min(), max: max(), percent: progress() }\">\r\n </ng-container>\r\n } @else {\r\n {{ progress() }}\r\n }\r\n </div>\r\n}\r\n", styles: [".indeterminate{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}\n"] }]
188
+ }, template: "<svg>\n <circle\n [attr.cx]=\"center().x\"\n [attr.cy]=\"center().y\"\n [attr.r]=\"radius()\"\n [attr.data-stroke-trail]=\"true\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-width]=\"thickness()\"\n fill=\"transparent\" />\n <circle\n [attr.cx]=\"center().x\"\n [attr.cy]=\"center().y\"\n [attr.r]=\"radius()\"\n [attr.stroke]=\"strokeColor()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"strokeDashOffset()\"\n [attr.stroke-width]=\"thickness()\"\n fill=\"transparent\"\n [class.indeterminate]=\"indeterminate()\" />\n</svg>\n@if (!indeterminate()) {\n <div class=\"mona-circular-progress-bar-label\">\n @if (labelTemplate()) {\n <ng-container\n [ngTemplateOutlet]=\"labelTemplate()?.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: value(), min: min(), max: max(), percent: progress() }\">\n </ng-container>\n } @else {\n {{ progress() }}\n }\n </div>\n}\n", styles: [".indeterminate{animation:rotate 2s linear infinite}@keyframes rotate{0%{transform:rotate(0)}50%{transform:rotate(180deg)}to{transform:rotate(360deg)}}\n"] }]
189
189
  }], propDecorators: { labelTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => CircularProgressBarLabelTemplateDirective), { isSignal: true }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaValueText: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-valuetext", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], thickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "thickness", required: false }] }], userClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }] } });
190
190
 
191
191
  /*
@@ -14,24 +14,24 @@ import { ThemeService } from '@nanahoshi/mona-ui/theme';
14
14
  import { Subject, fromEvent, switchMap, takeUntil, distinctUntilChanged } from 'rxjs';
15
15
  import { cva } from 'class-variance-authority';
16
16
 
17
- const colorGradientBaseVariants = cva(`
18
- flex flex-col min-w-64
19
- p-2 gap-2
20
- select-none
21
-
22
- data-[disabled='true']:cursor-not-allowed
23
- data-[disabled='true']:opacity-50
24
- data-[disabled='true']:pointer-events-none
25
-
26
- data-[invalid='true']:border
27
- data-[invalid='true']:border-error
28
- data-[invalid='true']:ring-1
29
- data-[invalid='true']:ring-error
17
+ const colorGradientBaseVariants = cva(`
18
+ flex flex-col min-w-64
19
+ p-2 gap-2
20
+ select-none
21
+
22
+ data-[disabled='true']:cursor-not-allowed
23
+ data-[disabled='true']:opacity-50
24
+ data-[disabled='true']:pointer-events-none
25
+
26
+ data-[invalid='true']:border
27
+ data-[invalid='true']:border-error
28
+ data-[invalid='true']:ring-1
29
+ data-[invalid='true']:ring-error
30
30
  `);
31
- const colorGradientHsvRectangleVariants = cva(`
32
- relative w-full h-40
33
- bg-[linear-gradient(to_bottom,rgba(0,0,0,0),black),linear-gradient(to_right,white,rgba(255,255,255,0))]
34
- border border-border
31
+ const colorGradientHsvRectangleVariants = cva(`
32
+ relative w-full h-40
33
+ bg-[linear-gradient(to_bottom,rgba(0,0,0,0),black),linear-gradient(to_right,white,rgba(255,255,255,0))]
34
+ border border-border
35
35
  `, {
36
36
  variants: {
37
37
  rounded: {
@@ -43,17 +43,17 @@ const colorGradientHsvRectangleVariants = cva(`
43
43
  }
44
44
  }
45
45
  });
46
- const colorGradientHsvRectangleHandleVariants = cva(`
47
- absolute
48
- w-3 h-3
49
- cursor-pointer
50
- border border-foreground
51
- outline outline-background
52
- shadow-md
53
-
54
- focus-visible:ring-2
55
- focus-visible:ring-primary/40
56
- focus-visible:ring-offset-2
46
+ const colorGradientHsvRectangleHandleVariants = cva(`
47
+ absolute
48
+ w-3 h-3
49
+ cursor-pointer
50
+ border border-foreground
51
+ outline outline-background
52
+ shadow-md
53
+
54
+ focus-visible:ring-2
55
+ focus-visible:ring-primary/40
56
+ focus-visible:ring-offset-2
57
57
  `, {
58
58
  variants: {
59
59
  rounded: {
@@ -65,9 +65,9 @@ const colorGradientHsvRectangleHandleVariants = cva(`
65
65
  }
66
66
  }
67
67
  });
68
- const colorGradientPreviewVariants = cva(`
69
- w-10 h-10 flex
70
- border border-border
68
+ const colorGradientPreviewVariants = cva(`
69
+ w-10 h-10 flex
70
+ border border-border
71
71
  `, {
72
72
  variants: {
73
73
  rounded: {
@@ -79,11 +79,11 @@ const colorGradientPreviewVariants = cva(`
79
79
  }
80
80
  }
81
81
  });
82
- const colorGradientSliderHandleVariants = cva(`
83
- border-3 border-white/90
84
- outline outline-solid outline-black/90
85
- bg-transparent
86
- w-3 h-3
82
+ const colorGradientSliderHandleVariants = cva(`
83
+ border-3 border-white/90
84
+ outline outline-solid outline-black/90
85
+ bg-transparent
86
+ w-3 h-3
87
87
  `);
88
88
 
89
89
  const colorGradientBaseThemeVariants = (theme) => {
@@ -817,7 +817,7 @@ class ColorGradientComponent {
817
817
  }
818
818
  }
819
819
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ColorGradientComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
820
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ColorGradientComponent, isStandalone: true, selector: "mona-color-gradient", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, opacity: { classPropertyName: "opacity", publicName: "opacity", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, showHexInput: { classPropertyName: "showHexInput", publicName: "showHexInput", isSignal: true, isRequired: false, transformFunction: null }, showColorInputs: { classPropertyName: "showColorInputs", publicName: "showColorInputs", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", cancel: "cancel", touch: "touch", value: "valueChange" }, host: { properties: { "class": "baseClasses()", "attr.data-disabled": "disabled()", "attr.data-invalid": "invalidState() || null", "attr.aria-invalid": "invalidState() ? 'true' : null" } }, viewQueries: [{ propertyName: "hsvHandle", first: true, predicate: ["hsvPointer"], descendants: true, isSignal: true }, { propertyName: "hsvRectangle", first: true, predicate: ["hsvRectangle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\r\n <div\r\n [class]=\"hsvRectangleHandleClasses()\"\r\n [style.left.px]=\"hsvHandleLeft()\"\r\n [style.top.px]=\"hsvHandleTop()\"\r\n [attr.tabindex]=\"disabled() ? -1 : 0\"\r\n [attr.role]=\"'slider'\"\r\n [attr.aria-label]=\"'Color saturation and value'\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.aria-valuenow]=\"hsv().s\"\r\n [attr.aria-valuetext]=\"'Saturation ' + hsv().s + '%, Value ' + hsv().v + '%'\"\r\n [attr.aria-disabled]=\"disabled() || null\"\r\n (keydown)=\"onHsvHandleKeyDown($event)\"\r\n (blur)=\"onHsvHandleBlur()\"\r\n #hsvPointer></div>\r\n</div>\r\n<div class=\"flex items-center gap-2\">\r\n <div class=\"flex flex-1 flex-col gap-1 mr-2\">\r\n <mona-slider\r\n [minValue]=\"0\"\r\n [maxValue]=\"360\"\r\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\r\n [selectionBackground]=\"'transparent'\"\r\n [handleClasses]=\"sliderHandleClasses()\"\r\n [trackSize]=\"sliderHeight\"\r\n [rounded]=\"rounded()\"\r\n [value]=\"hsv().h ?? 0\"\r\n (valueChange)=\"hueValue$.next($event)\"\r\n (touch)=\"onSliderBlur()\"></mona-slider>\r\n @if (opacity()) {\r\n <mona-slider\r\n [minValue]=\"0\"\r\n [maxValue]=\"255\"\r\n [trackBackground]=\"alphaSliderBackground()\"\r\n [selectionBackground]=\"'transparent'\"\r\n [handleClasses]=\"sliderHandleClasses()\"\r\n [trackSize]=\"sliderHeight\"\r\n [rounded]=\"rounded()\"\r\n [value]=\"alpha()\"\r\n (valueChange)=\"onAlphaChange($event)\"\r\n (touch)=\"onSliderBlur()\"></mona-slider>\r\n }\r\n </div>\r\n @for (preview of colorPreviews(); track preview.type) {\r\n <div\r\n [class]=\"colorPreviewClasses()\"\r\n [class.cursor-pointer]=\"$index === 1\"\r\n [style.background-color]=\"preview.color\"\r\n [attr.title]=\"$index === 1 ? preview.title : null\"\r\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\r\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\r\n [attr.role]=\"$index === 1 ? 'button' : null\"\r\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\r\n (click)=\"preview.onClick?.()\"\r\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\r\n }\r\n <button monaButton look=\"ghost\" size=\"small\" aria-label=\"Clear color\" (click)=\"onClearClick()\">\r\n <i class=\"ri-blur-off-line\"></i>\r\n </button>\r\n</div>\r\n<div class=\"flex flex-col gap-2\">\r\n @if (showColorInputs()) {\r\n <div class=\"flex gap-2\">\r\n <div class=\"flex gap-1\">\r\n @for (input of colorInputs(); track input.key) {\r\n <mona-numeric-text-box\r\n [value]=\"input.value\"\r\n [minValue]=\"input.min\"\r\n [maxValue]=\"input.max\"\r\n [decimals]=\"0\"\r\n [spinners]=\"false\"\r\n [nullable]=\"false\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"'small'\"\r\n class=\"w-18\"\r\n (valueChange)=\"input.change($event)\"\r\n (inputBlur)=\"onNumericInputBlur()\">\r\n <ng-template monaNumericTextBoxPrefixTemplate>\r\n <ng-container\r\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\r\n </ng-template>\r\n </mona-numeric-text-box>\r\n }\r\n </div>\r\n <div class=\"flex flex-1 items-center justify-end\">\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n [rounded]=\"rounded()\"\r\n size=\"small\"\r\n aria-label=\"Switch color mode\"\r\n (click)=\"onSwitchColorModeClick()\">\r\n <i class=\"ri-expand-up-down-line\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n @if (showHexInput()) {\r\n <mona-text-box\r\n [rounded]=\"rounded()\"\r\n [value]=\"hex()\"\r\n (valueChange)=\"onHexChange($event)\"\r\n (inputBlur)=\"onHexInputBlur()\"\r\n (inputFocus)=\"onHexInputFocus()\"\r\n class=\"w-full\">\r\n <ng-template monaTextBoxPrefixTemplate>\r\n <ng-container\r\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\r\n </ng-template>\r\n <ng-template monaTextBoxSuffixTemplate>\r\n <mona-dropdown-button look=\"ghost\" aria-label=\"Copy color\" class=\"h-full\">\r\n <svg lucideCopy [size]=\"12\"></svg>\r\n <mona-dropdown-button-item\r\n label=\"Copy as HEX\"\r\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\r\n <mona-dropdown-button-item\r\n label=\"Copy as RGB\"\r\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\r\n </mona-dropdown-button>\r\n </ng-template>\r\n </mona-text-box>\r\n }\r\n @if (showButtons()) {\r\n <div class=\"flex items-center justify-end gap-2\">\r\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">Apply</button>\r\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">Cancel</button>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\r\n <span\r\n [class]=\"classes\"\r\n class=\"inline-flex items-center justify-center select-none w-7.5 bg-secondary h-full text-xs font-semibold border-r border-r-input-border\"\r\n >{{ text }}</span\r\n >\r\n</ng-template>\r\n", dependencies: [{ kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["aria-label", "decimals", "disabled", "formatter", "maxValue", "minValue", "nullable", "readonly", "required", "invalid", "rounded", "size", "spinners", "step", "tabindex", "touched", "class", "value"], outputs: ["inputBlur", "inputFocus", "inputFocusOut", "touch", "valueChange"] }, { kind: "directive", type: NumericTextBoxPrefixTemplateDirective, selector: "ng-template[monaNumericTextBoxPrefixTemplate]" }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "component", type: TextBoxComponent, selector: "mona-text-box", inputs: ["clearButton", "disabled", "inputAttributes", "inputClass", "inputStyle", "invalid", "placeholder", "readonly", "required", "rounded", "size", "touched", "type", "class", "value"], outputs: ["inputBlur", "inputFocus", "touch", "valueChange"] }, { kind: "directive", type: TextBoxPrefixTemplateDirective, selector: "ng-template[monaTextBoxPrefixTemplate]" }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "ng-template[monaTextBoxSuffixTemplate]" }, { kind: "component", type: SliderComponent, selector: "mona-slider", inputs: ["aria-label", "aria-labelledby", "value"], outputs: ["valueChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownButtonComponent, selector: "mona-dropdown-button", inputs: ["aria-label", "aria-labelledby", "iconOnly", "disabled", "loading", "look", "rounded", "size", "text", "class"], outputs: ["menuItemClick"] }, { kind: "component", type: DropdownButtonItemComponent, selector: "mona-dropdown-button-item" }, { kind: "component", type: LucideCopy, selector: "svg[lucideCopy]" }] }); }
820
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.6", type: ColorGradientComponent, isStandalone: true, selector: "mona-color-gradient", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, opacity: { classPropertyName: "opacity", publicName: "opacity", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null }, showButtons: { classPropertyName: "showButtons", publicName: "showButtons", isSignal: true, isRequired: false, transformFunction: null }, showHexInput: { classPropertyName: "showHexInput", publicName: "showHexInput", isSignal: true, isRequired: false, transformFunction: null }, showColorInputs: { classPropertyName: "showColorInputs", publicName: "showColorInputs", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { apply: "apply", cancel: "cancel", touch: "touch", value: "valueChange" }, host: { properties: { "class": "baseClasses()", "attr.data-disabled": "disabled()", "attr.data-invalid": "invalidState() || null", "attr.aria-invalid": "invalidState() ? 'true' : null" } }, viewQueries: [{ propertyName: "hsvHandle", first: true, predicate: ["hsvPointer"], descendants: true, isSignal: true }, { propertyName: "hsvRectangle", first: true, predicate: ["hsvRectangle"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\n <div\n [class]=\"hsvRectangleHandleClasses()\"\n [style.left.px]=\"hsvHandleLeft()\"\n [style.top.px]=\"hsvHandleTop()\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.role]=\"'slider'\"\n [attr.aria-label]=\"'Color saturation and value'\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"hsv().s\"\n [attr.aria-valuetext]=\"'Saturation ' + hsv().s + '%, Value ' + hsv().v + '%'\"\n [attr.aria-disabled]=\"disabled() || null\"\n (keydown)=\"onHsvHandleKeyDown($event)\"\n (blur)=\"onHsvHandleBlur()\"\n #hsvPointer></div>\n</div>\n<div class=\"flex items-center gap-2\">\n <div class=\"flex flex-1 flex-col gap-1 mr-2\">\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"360\"\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"hsv().h ?? 0\"\n (valueChange)=\"hueValue$.next($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n @if (opacity()) {\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [trackBackground]=\"alphaSliderBackground()\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"alpha()\"\n (valueChange)=\"onAlphaChange($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n }\n </div>\n @for (preview of colorPreviews(); track preview.type) {\n <div\n [class]=\"colorPreviewClasses()\"\n [class.cursor-pointer]=\"$index === 1\"\n [style.background-color]=\"preview.color\"\n [attr.title]=\"$index === 1 ? preview.title : null\"\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\n [attr.role]=\"$index === 1 ? 'button' : null\"\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\n (click)=\"preview.onClick?.()\"\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\n }\n <button monaButton look=\"ghost\" size=\"small\" aria-label=\"Clear color\" (click)=\"onClearClick()\">\n <i class=\"ri-blur-off-line\"></i>\n </button>\n</div>\n<div class=\"flex flex-col gap-2\">\n @if (showColorInputs()) {\n <div class=\"flex gap-2\">\n <div class=\"flex gap-1\">\n @for (input of colorInputs(); track input.key) {\n <mona-numeric-text-box\n [value]=\"input.value\"\n [minValue]=\"input.min\"\n [maxValue]=\"input.max\"\n [decimals]=\"0\"\n [spinners]=\"false\"\n [nullable]=\"false\"\n [rounded]=\"rounded()\"\n [size]=\"'small'\"\n class=\"w-18\"\n (valueChange)=\"input.change($event)\"\n (inputBlur)=\"onNumericInputBlur()\">\n <ng-template monaNumericTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\n </ng-template>\n </mona-numeric-text-box>\n }\n </div>\n <div class=\"flex flex-1 items-center justify-end\">\n <button\n monaButton\n look=\"ghost\"\n [rounded]=\"rounded()\"\n size=\"small\"\n aria-label=\"Switch color mode\"\n (click)=\"onSwitchColorModeClick()\">\n <i class=\"ri-expand-up-down-line\"></i>\n </button>\n </div>\n </div>\n }\n @if (showHexInput()) {\n <mona-text-box\n [rounded]=\"rounded()\"\n [value]=\"hex()\"\n (valueChange)=\"onHexChange($event)\"\n (inputBlur)=\"onHexInputBlur()\"\n (inputFocus)=\"onHexInputFocus()\"\n class=\"w-full\">\n <ng-template monaTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\n </ng-template>\n <ng-template monaTextBoxSuffixTemplate>\n <mona-dropdown-button look=\"ghost\" aria-label=\"Copy color\" class=\"h-full\">\n <svg lucideCopy [size]=\"12\"></svg>\n <mona-dropdown-button-item\n label=\"Copy as HEX\"\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\n <mona-dropdown-button-item\n label=\"Copy as RGB\"\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\n </mona-dropdown-button>\n </ng-template>\n </mona-text-box>\n }\n @if (showButtons()) {\n <div class=\"flex items-center justify-end gap-2\">\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">Apply</button>\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">Cancel</button>\n </div>\n }\n</div>\n\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\n <span\n [class]=\"classes\"\n class=\"inline-flex items-center justify-center select-none w-7.5 bg-secondary h-full text-xs font-semibold border-r border-r-input-border\"\n >{{ text }}</span\n >\n</ng-template>\n", dependencies: [{ kind: "component", type: NumericTextBoxComponent, selector: "mona-numeric-text-box", inputs: ["aria-label", "decimals", "disabled", "formatter", "maxValue", "minValue", "nullable", "readonly", "required", "invalid", "rounded", "size", "spinners", "step", "tabindex", "touched", "class", "value"], outputs: ["inputBlur", "inputFocus", "inputFocusOut", "touch", "valueChange"] }, { kind: "directive", type: NumericTextBoxPrefixTemplateDirective, selector: "ng-template[monaNumericTextBoxPrefixTemplate]" }, { kind: "directive", type: ButtonDirective, selector: "button[monaButton]", inputs: ["aria-haspopup", "disabled", "iconOnly", "loading", "look", "rounded", "selected", "size", "tabindex", "toggleable", "class"], outputs: ["disabledChange", "loadingChange", "lookChange", "selectedChange"] }, { kind: "component", type: TextBoxComponent, selector: "mona-text-box", inputs: ["clearButton", "disabled", "inputAttributes", "inputClass", "inputStyle", "invalid", "placeholder", "readonly", "required", "rounded", "size", "touched", "type", "class", "value"], outputs: ["inputBlur", "inputFocus", "touch", "valueChange"] }, { kind: "directive", type: TextBoxPrefixTemplateDirective, selector: "ng-template[monaTextBoxPrefixTemplate]" }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "ng-template[monaTextBoxSuffixTemplate]" }, { kind: "component", type: SliderComponent, selector: "mona-slider", inputs: ["aria-label", "aria-labelledby", "value"], outputs: ["valueChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownButtonComponent, selector: "mona-dropdown-button", inputs: ["aria-label", "aria-labelledby", "iconOnly", "disabled", "loading", "look", "rounded", "size", "text", "class"], outputs: ["menuItemClick"] }, { kind: "component", type: DropdownButtonItemComponent, selector: "mona-dropdown-button-item" }, { kind: "component", type: LucideCopy, selector: "svg[lucideCopy]" }] }); }
821
821
  }
822
822
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: ColorGradientComponent, decorators: [{
823
823
  type: Component,
@@ -838,7 +838,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImpor
838
838
  "[attr.data-disabled]": "disabled()",
839
839
  "[attr.data-invalid]": "invalidState() || null",
840
840
  "[attr.aria-invalid]": "invalidState() ? 'true' : null"
841
- }, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\r\n <div\r\n [class]=\"hsvRectangleHandleClasses()\"\r\n [style.left.px]=\"hsvHandleLeft()\"\r\n [style.top.px]=\"hsvHandleTop()\"\r\n [attr.tabindex]=\"disabled() ? -1 : 0\"\r\n [attr.role]=\"'slider'\"\r\n [attr.aria-label]=\"'Color saturation and value'\"\r\n [attr.aria-valuemin]=\"0\"\r\n [attr.aria-valuemax]=\"100\"\r\n [attr.aria-valuenow]=\"hsv().s\"\r\n [attr.aria-valuetext]=\"'Saturation ' + hsv().s + '%, Value ' + hsv().v + '%'\"\r\n [attr.aria-disabled]=\"disabled() || null\"\r\n (keydown)=\"onHsvHandleKeyDown($event)\"\r\n (blur)=\"onHsvHandleBlur()\"\r\n #hsvPointer></div>\r\n</div>\r\n<div class=\"flex items-center gap-2\">\r\n <div class=\"flex flex-1 flex-col gap-1 mr-2\">\r\n <mona-slider\r\n [minValue]=\"0\"\r\n [maxValue]=\"360\"\r\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\r\n [selectionBackground]=\"'transparent'\"\r\n [handleClasses]=\"sliderHandleClasses()\"\r\n [trackSize]=\"sliderHeight\"\r\n [rounded]=\"rounded()\"\r\n [value]=\"hsv().h ?? 0\"\r\n (valueChange)=\"hueValue$.next($event)\"\r\n (touch)=\"onSliderBlur()\"></mona-slider>\r\n @if (opacity()) {\r\n <mona-slider\r\n [minValue]=\"0\"\r\n [maxValue]=\"255\"\r\n [trackBackground]=\"alphaSliderBackground()\"\r\n [selectionBackground]=\"'transparent'\"\r\n [handleClasses]=\"sliderHandleClasses()\"\r\n [trackSize]=\"sliderHeight\"\r\n [rounded]=\"rounded()\"\r\n [value]=\"alpha()\"\r\n (valueChange)=\"onAlphaChange($event)\"\r\n (touch)=\"onSliderBlur()\"></mona-slider>\r\n }\r\n </div>\r\n @for (preview of colorPreviews(); track preview.type) {\r\n <div\r\n [class]=\"colorPreviewClasses()\"\r\n [class.cursor-pointer]=\"$index === 1\"\r\n [style.background-color]=\"preview.color\"\r\n [attr.title]=\"$index === 1 ? preview.title : null\"\r\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\r\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\r\n [attr.role]=\"$index === 1 ? 'button' : null\"\r\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\r\n (click)=\"preview.onClick?.()\"\r\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\r\n }\r\n <button monaButton look=\"ghost\" size=\"small\" aria-label=\"Clear color\" (click)=\"onClearClick()\">\r\n <i class=\"ri-blur-off-line\"></i>\r\n </button>\r\n</div>\r\n<div class=\"flex flex-col gap-2\">\r\n @if (showColorInputs()) {\r\n <div class=\"flex gap-2\">\r\n <div class=\"flex gap-1\">\r\n @for (input of colorInputs(); track input.key) {\r\n <mona-numeric-text-box\r\n [value]=\"input.value\"\r\n [minValue]=\"input.min\"\r\n [maxValue]=\"input.max\"\r\n [decimals]=\"0\"\r\n [spinners]=\"false\"\r\n [nullable]=\"false\"\r\n [rounded]=\"rounded()\"\r\n [size]=\"'small'\"\r\n class=\"w-18\"\r\n (valueChange)=\"input.change($event)\"\r\n (inputBlur)=\"onNumericInputBlur()\">\r\n <ng-template monaNumericTextBoxPrefixTemplate>\r\n <ng-container\r\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\r\n </ng-template>\r\n </mona-numeric-text-box>\r\n }\r\n </div>\r\n <div class=\"flex flex-1 items-center justify-end\">\r\n <button\r\n monaButton\r\n look=\"ghost\"\r\n [rounded]=\"rounded()\"\r\n size=\"small\"\r\n aria-label=\"Switch color mode\"\r\n (click)=\"onSwitchColorModeClick()\">\r\n <i class=\"ri-expand-up-down-line\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n @if (showHexInput()) {\r\n <mona-text-box\r\n [rounded]=\"rounded()\"\r\n [value]=\"hex()\"\r\n (valueChange)=\"onHexChange($event)\"\r\n (inputBlur)=\"onHexInputBlur()\"\r\n (inputFocus)=\"onHexInputFocus()\"\r\n class=\"w-full\">\r\n <ng-template monaTextBoxPrefixTemplate>\r\n <ng-container\r\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\r\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\r\n </ng-template>\r\n <ng-template monaTextBoxSuffixTemplate>\r\n <mona-dropdown-button look=\"ghost\" aria-label=\"Copy color\" class=\"h-full\">\r\n <svg lucideCopy [size]=\"12\"></svg>\r\n <mona-dropdown-button-item\r\n label=\"Copy as HEX\"\r\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\r\n <mona-dropdown-button-item\r\n label=\"Copy as RGB\"\r\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\r\n </mona-dropdown-button>\r\n </ng-template>\r\n </mona-text-box>\r\n }\r\n @if (showButtons()) {\r\n <div class=\"flex items-center justify-end gap-2\">\r\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">Apply</button>\r\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">Cancel</button>\r\n </div>\r\n }\r\n</div>\r\n\r\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\r\n <span\r\n [class]=\"classes\"\r\n class=\"inline-flex items-center justify-center select-none w-7.5 bg-secondary h-full text-xs font-semibold border-r border-r-input-border\"\r\n >{{ text }}</span\r\n >\r\n</ng-template>\r\n" }]
841
+ }, template: "<div [class]=\"hsvRectangleClasses()\" [style.background-color]=\"hsvRectangleBackground()\" #hsvRectangle>\n <div\n [class]=\"hsvRectangleHandleClasses()\"\n [style.left.px]=\"hsvHandleLeft()\"\n [style.top.px]=\"hsvHandleTop()\"\n [attr.tabindex]=\"disabled() ? -1 : 0\"\n [attr.role]=\"'slider'\"\n [attr.aria-label]=\"'Color saturation and value'\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"hsv().s\"\n [attr.aria-valuetext]=\"'Saturation ' + hsv().s + '%, Value ' + hsv().v + '%'\"\n [attr.aria-disabled]=\"disabled() || null\"\n (keydown)=\"onHsvHandleKeyDown($event)\"\n (blur)=\"onHsvHandleBlur()\"\n #hsvPointer></div>\n</div>\n<div class=\"flex items-center gap-2\">\n <div class=\"flex flex-1 flex-col gap-1 mr-2\">\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"360\"\n [trackBackground]=\"'linear-gradient(to right, #ff0000, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000)'\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"hsv().h ?? 0\"\n (valueChange)=\"hueValue$.next($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n @if (opacity()) {\n <mona-slider\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [trackBackground]=\"alphaSliderBackground()\"\n [selectionBackground]=\"'transparent'\"\n [handleClasses]=\"sliderHandleClasses()\"\n [trackSize]=\"sliderHeight\"\n [rounded]=\"rounded()\"\n [value]=\"alpha()\"\n (valueChange)=\"onAlphaChange($event)\"\n (touch)=\"onSliderBlur()\"></mona-slider>\n }\n </div>\n @for (preview of colorPreviews(); track preview.type) {\n <div\n [class]=\"colorPreviewClasses()\"\n [class.cursor-pointer]=\"$index === 1\"\n [style.background-color]=\"preview.color\"\n [attr.title]=\"$index === 1 ? preview.title : null\"\n [attr.aria-label]=\"$index === 1 ? preview.title : null\"\n [attr.aria-hidden]=\"$index === 0 ? 'true' : null\"\n [attr.role]=\"$index === 1 ? 'button' : null\"\n [attr.tabindex]=\"$index === 1 ? 0 : null\"\n (click)=\"preview.onClick?.()\"\n (keydown)=\"onPreviousColorKeyDown($event, preview.onClick)\"></div>\n }\n <button monaButton look=\"ghost\" size=\"small\" aria-label=\"Clear color\" (click)=\"onClearClick()\">\n <i class=\"ri-blur-off-line\"></i>\n </button>\n</div>\n<div class=\"flex flex-col gap-2\">\n @if (showColorInputs()) {\n <div class=\"flex gap-2\">\n <div class=\"flex gap-1\">\n @for (input of colorInputs(); track input.key) {\n <mona-numeric-text-box\n [value]=\"input.value\"\n [minValue]=\"input.min\"\n [maxValue]=\"input.max\"\n [decimals]=\"0\"\n [spinners]=\"false\"\n [nullable]=\"false\"\n [rounded]=\"rounded()\"\n [size]=\"'small'\"\n class=\"w-18\"\n (valueChange)=\"input.change($event)\"\n (inputBlur)=\"onNumericInputBlur()\">\n <ng-template monaNumericTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: input.label }\"></ng-container>\n </ng-template>\n </mona-numeric-text-box>\n }\n </div>\n <div class=\"flex flex-1 items-center justify-end\">\n <button\n monaButton\n look=\"ghost\"\n [rounded]=\"rounded()\"\n size=\"small\"\n aria-label=\"Switch color mode\"\n (click)=\"onSwitchColorModeClick()\">\n <i class=\"ri-expand-up-down-line\"></i>\n </button>\n </div>\n </div>\n }\n @if (showHexInput()) {\n <mona-text-box\n [rounded]=\"rounded()\"\n [value]=\"hex()\"\n (valueChange)=\"onHexChange($event)\"\n (inputBlur)=\"onHexInputBlur()\"\n (inputFocus)=\"onHexInputFocus()\"\n class=\"w-full\">\n <ng-template monaTextBoxPrefixTemplate>\n <ng-container\n [ngTemplateOutlet]=\"numericInputPrefixTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: 'HEX', classes: 'w-auto px-2' }\"></ng-container>\n </ng-template>\n <ng-template monaTextBoxSuffixTemplate>\n <mona-dropdown-button look=\"ghost\" aria-label=\"Copy color\" class=\"h-full\">\n <svg lucideCopy [size]=\"12\"></svg>\n <mona-dropdown-button-item\n label=\"Copy as HEX\"\n (menuClick)=\"onCopyColorSelect('hex')\"></mona-dropdown-button-item>\n <mona-dropdown-button-item\n label=\"Copy as RGB\"\n (menuClick)=\"onCopyColorSelect('rgb')\"></mona-dropdown-button-item>\n </mona-dropdown-button>\n </ng-template>\n </mona-text-box>\n }\n @if (showButtons()) {\n <div class=\"flex items-center justify-end gap-2\">\n <button monaButton [rounded]=\"rounded()\" look=\"primary\" (click)=\"onApply()\">Apply</button>\n <button monaButton [rounded]=\"rounded()\" (click)=\"onCancel()\">Cancel</button>\n </div>\n }\n</div>\n\n<ng-template #numericInputPrefixTemplate let-text let-classes=\"classes\">\n <span\n [class]=\"classes\"\n class=\"inline-flex items-center justify-center select-none w-7.5 bg-secondary h-full text-xs font-semibold border-r border-r-input-border\"\n >{{ text }}</span\n >\n</ng-template>\n" }]
842
842
  }], ctorParameters: () => [], propDecorators: { hsvHandle: [{ type: i0.ViewChild, args: ["hsvPointer", { isSignal: true }] }], hsvRectangle: [{ type: i0.ViewChild, args: ["hsvRectangle", { isSignal: true }] }], apply: [{ type: i0.Output, args: ["apply"] }], cancel: [{ type: i0.Output, args: ["cancel"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], opacity: [{ type: i0.Input, args: [{ isSignal: true, alias: "opacity", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], rounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "rounded", required: false }] }], showButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButtons", required: false }] }], showHexInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "showHexInput", required: false }] }], showColorInputs: [{ type: i0.Input, args: [{ isSignal: true, alias: "showColorInputs", required: false }] }], touch: [{ type: i0.Output, args: ["touch"] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }] } });
843
843
 
844
844
  /*
@@ -4,32 +4,32 @@ import { ThemeService } from '@nanahoshi/mona-ui/theme';
4
4
  import { count } from '@mirei/ts-collections';
5
5
  import { cva } from 'class-variance-authority';
6
6
 
7
- const colorPaletteBaseVariants = cva(`
8
- grid gap-0.125 p-0.0625
9
- data-[disabled='true']:cursor-not-allowed
10
- data-[disabled='true']:opacity-50
11
- data-[disabled='true']:pointer-events-none
12
- data-[readonly='true']:cursor-default
13
- data-[invalid='true']:border
14
- data-[invalid='true']:border-error
15
- data-[invalid='true']:ring-1
16
- data-[invalid='true']:ring-error
7
+ const colorPaletteBaseVariants = cva(`
8
+ grid gap-0.125 p-0.0625
9
+ data-[disabled='true']:cursor-not-allowed
10
+ data-[disabled='true']:opacity-50
11
+ data-[disabled='true']:pointer-events-none
12
+ data-[readonly='true']:cursor-default
13
+ data-[invalid='true']:border
14
+ data-[invalid='true']:border-error
15
+ data-[invalid='true']:ring-1
16
+ data-[invalid='true']:ring-error
17
17
  `);
18
- const colorPaletteItemVariants = cva(`
19
- cursor-pointer
20
- data-[readonly='true']:cursor-default
21
- data-[selected='true']:border
22
- data-[selected='true']:border-border
23
- data-[selected='true']:outline
24
- data-[selected='true']:outline-2
25
- data-[selected='true']:outline-foreground
26
- data-[selected='true']:scale-90
27
- hover:border hover:border-border
28
-
29
- focus:not-data-[selected='true']:border
30
- focus:not-data-[selected='true']:border-foreground
31
- focus:not-data-[selected='true']:outline-none
32
- focus:not-data-[selected='true']:z-1
18
+ const colorPaletteItemVariants = cva(`
19
+ cursor-pointer
20
+ data-[readonly='true']:cursor-default
21
+ data-[selected='true']:border
22
+ data-[selected='true']:border-border
23
+ data-[selected='true']:outline
24
+ data-[selected='true']:outline-2
25
+ data-[selected='true']:outline-foreground
26
+ data-[selected='true']:scale-90
27
+ hover:border hover:border-border
28
+
29
+ focus:not-data-[selected='true']:border
30
+ focus:not-data-[selected='true']:border-foreground
31
+ focus:not-data-[selected='true']:outline-none
32
+ focus:not-data-[selected='true']:z-1
33
33
  `, {
34
34
  variants: {
35
35
  rounded: {