ng-primitives 0.120.5 → 0.121.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 (144) hide show
  1. package/fesm2022/ng-primitives-a11y.mjs +5 -5
  2. package/fesm2022/ng-primitives-a11y.mjs.map +1 -1
  3. package/fesm2022/ng-primitives-accordion.mjs +30 -47
  4. package/fesm2022/ng-primitives-accordion.mjs.map +1 -1
  5. package/fesm2022/ng-primitives-ai.mjs +39 -52
  6. package/fesm2022/ng-primitives-ai.mjs.map +1 -1
  7. package/fesm2022/ng-primitives-autofill.mjs +4 -4
  8. package/fesm2022/ng-primitives-autofill.mjs.map +1 -1
  9. package/fesm2022/ng-primitives-avatar.mjs +14 -17
  10. package/fesm2022/ng-primitives-avatar.mjs.map +1 -1
  11. package/fesm2022/ng-primitives-breadcrumbs.mjs +21 -21
  12. package/fesm2022/ng-primitives-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/ng-primitives-button.mjs +7 -9
  14. package/fesm2022/ng-primitives-button.mjs.map +1 -1
  15. package/fesm2022/ng-primitives-checkbox.mjs +15 -30
  16. package/fesm2022/ng-primitives-checkbox.mjs.map +1 -1
  17. package/fesm2022/ng-primitives-combobox.mjs +60 -92
  18. package/fesm2022/ng-primitives-combobox.mjs.map +1 -1
  19. package/fesm2022/ng-primitives-common.mjs +4 -4
  20. package/fesm2022/ng-primitives-common.mjs.map +1 -1
  21. package/fesm2022/ng-primitives-context-menu.mjs +66 -119
  22. package/fesm2022/ng-primitives-context-menu.mjs.map +1 -1
  23. package/fesm2022/ng-primitives-date-picker.mjs +70 -108
  24. package/fesm2022/ng-primitives-date-picker.mjs.map +1 -1
  25. package/fesm2022/ng-primitives-dialog.mjs +33 -49
  26. package/fesm2022/ng-primitives-dialog.mjs.map +1 -1
  27. package/fesm2022/ng-primitives-file-upload.mjs +26 -53
  28. package/fesm2022/ng-primitives-file-upload.mjs.map +1 -1
  29. package/fesm2022/ng-primitives-focus-trap.mjs +5 -8
  30. package/fesm2022/ng-primitives-focus-trap.mjs.map +1 -1
  31. package/fesm2022/ng-primitives-form-field.mjs +39 -44
  32. package/fesm2022/ng-primitives-form-field.mjs.map +1 -1
  33. package/fesm2022/ng-primitives-input-otp.mjs +30 -43
  34. package/fesm2022/ng-primitives-input-otp.mjs.map +1 -1
  35. package/fesm2022/ng-primitives-input.mjs +6 -8
  36. package/fesm2022/ng-primitives-input.mjs.map +1 -1
  37. package/fesm2022/ng-primitives-interactions.mjs +31 -48
  38. package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
  39. package/fesm2022/ng-primitives-internal.mjs +12 -12
  40. package/fesm2022/ng-primitives-internal.mjs.map +1 -1
  41. package/fesm2022/ng-primitives-listbox.mjs +34 -48
  42. package/fesm2022/ng-primitives-listbox.mjs.map +1 -1
  43. package/fesm2022/ng-primitives-menu.mjs +83 -149
  44. package/fesm2022/ng-primitives-menu.mjs.map +1 -1
  45. package/fesm2022/ng-primitives-meter.mjs +25 -36
  46. package/fesm2022/ng-primitives-meter.mjs.map +1 -1
  47. package/fesm2022/ng-primitives-navigation-menu.mjs +60 -108
  48. package/fesm2022/ng-primitives-navigation-menu.mjs.map +1 -1
  49. package/fesm2022/ng-primitives-number-field.mjs +35 -59
  50. package/fesm2022/ng-primitives-number-field.mjs.map +1 -1
  51. package/fesm2022/ng-primitives-pagination.mjs +270 -297
  52. package/fesm2022/ng-primitives-pagination.mjs.map +1 -1
  53. package/fesm2022/ng-primitives-popover.mjs +42 -87
  54. package/fesm2022/ng-primitives-popover.mjs.map +1 -1
  55. package/fesm2022/ng-primitives-portal.mjs +81 -57
  56. package/fesm2022/ng-primitives-portal.mjs.map +1 -1
  57. package/fesm2022/ng-primitives-progress.mjs +30 -41
  58. package/fesm2022/ng-primitives-progress.mjs.map +1 -1
  59. package/fesm2022/ng-primitives-radio.mjs +20 -30
  60. package/fesm2022/ng-primitives-radio.mjs.map +1 -1
  61. package/fesm2022/ng-primitives-resize.mjs +3 -3
  62. package/fesm2022/ng-primitives-resize.mjs.map +1 -1
  63. package/fesm2022/ng-primitives-roving-focus.mjs +20 -34
  64. package/fesm2022/ng-primitives-roving-focus.mjs.map +1 -1
  65. package/fesm2022/ng-primitives-search.mjs +9 -9
  66. package/fesm2022/ng-primitives-search.mjs.map +1 -1
  67. package/fesm2022/ng-primitives-select.mjs +50 -81
  68. package/fesm2022/ng-primitives-select.mjs.map +1 -1
  69. package/fesm2022/ng-primitives-separator.mjs +4 -6
  70. package/fesm2022/ng-primitives-separator.mjs.map +1 -1
  71. package/fesm2022/ng-primitives-slider.mjs +63 -100
  72. package/fesm2022/ng-primitives-slider.mjs.map +1 -1
  73. package/fesm2022/ng-primitives-state.mjs +3 -3
  74. package/fesm2022/ng-primitives-state.mjs.map +1 -1
  75. package/fesm2022/ng-primitives-switch.mjs +15 -21
  76. package/fesm2022/ng-primitives-switch.mjs.map +1 -1
  77. package/fesm2022/ng-primitives-tabs.mjs +31 -41
  78. package/fesm2022/ng-primitives-tabs.mjs.map +1 -1
  79. package/fesm2022/ng-primitives-textarea.mjs +5 -7
  80. package/fesm2022/ng-primitives-textarea.mjs.map +1 -1
  81. package/fesm2022/ng-primitives-toast.mjs +19 -19
  82. package/fesm2022/ng-primitives-toast.mjs.map +1 -1
  83. package/fesm2022/ng-primitives-toggle-group.mjs +20 -36
  84. package/fesm2022/ng-primitives-toggle-group.mjs.map +1 -1
  85. package/fesm2022/ng-primitives-toggle.mjs +10 -19
  86. package/fesm2022/ng-primitives-toggle.mjs.map +1 -1
  87. package/fesm2022/ng-primitives-toolbar.mjs +4 -6
  88. package/fesm2022/ng-primitives-toolbar.mjs.map +1 -1
  89. package/fesm2022/ng-primitives-tooltip.mjs +401 -402
  90. package/fesm2022/ng-primitives-tooltip.mjs.map +1 -1
  91. package/fesm2022/ng-primitives-utils.mjs +5 -4
  92. package/fesm2022/ng-primitives-utils.mjs.map +1 -1
  93. package/package.json +56 -55
  94. package/{a11y/index.d.ts → types/ng-primitives-a11y.d.ts} +15 -14
  95. package/{accordion/index.d.ts → types/ng-primitives-accordion.d.ts} +78 -77
  96. package/{button/index.d.ts → types/ng-primitives-button.d.ts} +21 -20
  97. package/{checkbox/index.d.ts → types/ng-primitives-checkbox.d.ts} +67 -66
  98. package/{combobox/index.d.ts → types/ng-primitives-combobox.d.ts} +35 -35
  99. package/{date-picker/index.d.ts → types/ng-primitives-date-picker.d.ts} +2 -2
  100. package/{number-field/index.d.ts → types/ng-primitives-number-field.d.ts} +72 -71
  101. package/types/ng-primitives-pagination.d.ts +502 -0
  102. package/{popover/index.d.ts → types/ng-primitives-popover.d.ts} +3 -2
  103. package/{portal/index.d.ts → types/ng-primitives-portal.d.ts} +19 -3
  104. package/{roving-focus/index.d.ts → types/ng-primitives-roving-focus.d.ts} +61 -60
  105. package/{select/index.d.ts → types/ng-primitives-select.d.ts} +39 -38
  106. package/{slider/index.d.ts → types/ng-primitives-slider.d.ts} +59 -58
  107. package/{switch/index.d.ts → types/ng-primitives-switch.d.ts} +45 -44
  108. package/{toast/index.d.ts → types/ng-primitives-toast.d.ts} +2 -1
  109. package/{toggle-group/index.d.ts → types/ng-primitives-toggle-group.d.ts} +69 -68
  110. package/{toggle/index.d.ts → types/ng-primitives-toggle.d.ts} +48 -47
  111. package/types/ng-primitives-tooltip.d.ts +691 -0
  112. package/pagination/index.d.ts +0 -211
  113. package/tooltip/index.d.ts +0 -376
  114. /package/{ai/index.d.ts → types/ng-primitives-ai.d.ts} +0 -0
  115. /package/{autofill/index.d.ts → types/ng-primitives-autofill.d.ts} +0 -0
  116. /package/{avatar/index.d.ts → types/ng-primitives-avatar.d.ts} +0 -0
  117. /package/{breadcrumbs/index.d.ts → types/ng-primitives-breadcrumbs.d.ts} +0 -0
  118. /package/{common/index.d.ts → types/ng-primitives-common.d.ts} +0 -0
  119. /package/{context-menu/index.d.ts → types/ng-primitives-context-menu.d.ts} +0 -0
  120. /package/{date-time-luxon/index.d.ts → types/ng-primitives-date-time-luxon.d.ts} +0 -0
  121. /package/{date-time/index.d.ts → types/ng-primitives-date-time.d.ts} +0 -0
  122. /package/{dialog/index.d.ts → types/ng-primitives-dialog.d.ts} +0 -0
  123. /package/{file-upload/index.d.ts → types/ng-primitives-file-upload.d.ts} +0 -0
  124. /package/{focus-trap/index.d.ts → types/ng-primitives-focus-trap.d.ts} +0 -0
  125. /package/{form-field/index.d.ts → types/ng-primitives-form-field.d.ts} +0 -0
  126. /package/{input-otp/index.d.ts → types/ng-primitives-input-otp.d.ts} +0 -0
  127. /package/{input/index.d.ts → types/ng-primitives-input.d.ts} +0 -0
  128. /package/{interactions/index.d.ts → types/ng-primitives-interactions.d.ts} +0 -0
  129. /package/{internal/index.d.ts → types/ng-primitives-internal.d.ts} +0 -0
  130. /package/{listbox/index.d.ts → types/ng-primitives-listbox.d.ts} +0 -0
  131. /package/{menu/index.d.ts → types/ng-primitives-menu.d.ts} +0 -0
  132. /package/{meter/index.d.ts → types/ng-primitives-meter.d.ts} +0 -0
  133. /package/{navigation-menu/index.d.ts → types/ng-primitives-navigation-menu.d.ts} +0 -0
  134. /package/{progress/index.d.ts → types/ng-primitives-progress.d.ts} +0 -0
  135. /package/{radio/index.d.ts → types/ng-primitives-radio.d.ts} +0 -0
  136. /package/{resize/index.d.ts → types/ng-primitives-resize.d.ts} +0 -0
  137. /package/{search/index.d.ts → types/ng-primitives-search.d.ts} +0 -0
  138. /package/{separator/index.d.ts → types/ng-primitives-separator.d.ts} +0 -0
  139. /package/{state/index.d.ts → types/ng-primitives-state.d.ts} +0 -0
  140. /package/{tabs/index.d.ts → types/ng-primitives-tabs.d.ts} +0 -0
  141. /package/{textarea/index.d.ts → types/ng-primitives-textarea.d.ts} +0 -0
  142. /package/{toolbar/index.d.ts → types/ng-primitives-toolbar.d.ts} +0 -0
  143. /package/{utils/index.d.ts → types/ng-primitives-utils.d.ts} +0 -0
  144. /package/{index.d.ts → types/ng-primitives.d.ts} +0 -0
@@ -124,7 +124,7 @@ const [NgpToggleGroupItemToken, ngpToggleGroupItem, injectToggleGroupItemState,
124
124
  const element = injectElementRef();
125
125
  const toggleGroup = injectToggleGroupState();
126
126
  // Whether the item is selected.
127
- const selected = computed(() => toggleGroup()?.isSelected(value()) ?? false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
127
+ const selected = computed(() => toggleGroup()?.isSelected(value()) ?? false, ...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
128
128
  // Host bindings
129
129
  attrBinding(element, 'role', 'radio');
130
130
  attrBinding(element, 'aria-checked', selected);
@@ -149,17 +149,12 @@ class NgpToggleGroupItem {
149
149
  * The value of the item.
150
150
  * @required
151
151
  */
152
- this.value = input(undefined, ...(ngDevMode ? [{ debugName: "value", alias: 'ngpToggleGroupItemValue' }] : [{
153
- alias: 'ngpToggleGroupItemValue',
154
- }]));
152
+ this.value = input(undefined, { ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupItemValue' });
155
153
  /**
156
154
  * Whether the item is disabled.
157
155
  */
158
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpToggleGroupItemDisabled',
159
- transform: booleanAttribute }] : [{
160
- alias: 'ngpToggleGroupItemDisabled',
161
- transform: booleanAttribute,
162
- }]));
156
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupItemDisabled',
157
+ transform: booleanAttribute });
163
158
  ngpToggleGroupItem({
164
159
  value: this.value,
165
160
  disabled: this.disabled,
@@ -173,10 +168,10 @@ class NgpToggleGroupItem {
173
168
  throw new Error('The value input is required for the toggle group item.');
174
169
  }
175
170
  }
176
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggleGroupItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
177
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpToggleGroupItem, isStandalone: true, selector: "[ngpToggleGroupItem]", inputs: { value: { classPropertyName: "value", publicName: "ngpToggleGroupItemValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleGroupItemDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideToggleGroupItemState(), provideRovingFocusItemState()], exportAs: ["ngpToggleGroupItem"], ngImport: i0 }); }
171
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggleGroupItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
172
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpToggleGroupItem, isStandalone: true, selector: "[ngpToggleGroupItem]", inputs: { value: { classPropertyName: "value", publicName: "ngpToggleGroupItemValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleGroupItemDisabled", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideToggleGroupItemState(), provideRovingFocusItemState()], exportAs: ["ngpToggleGroupItem"], ngImport: i0 }); }
178
173
  }
179
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggleGroupItem, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggleGroupItem, decorators: [{
180
175
  type: Directive,
181
176
  args: [{
182
177
  selector: '[ngpToggleGroupItem]',
@@ -194,40 +189,32 @@ class NgpToggleGroup {
194
189
  /**
195
190
  * The orientation of the toggle group.
196
191
  */
197
- this.orientation = input(this.config.orientation, ...(ngDevMode ? [{ debugName: "orientation", alias: 'ngpToggleGroupOrientation' }] : [{
198
- alias: 'ngpToggleGroupOrientation',
199
- }]));
192
+ this.orientation = input(this.config.orientation, { ...(ngDevMode ? { debugName: "orientation" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupOrientation' });
200
193
  /**
201
194
  * Whether focus should wrap around when reaching the end of the toggle group.
202
195
  * @default true
203
196
  */
204
- this.wrap = input(this.config.wrap, ...(ngDevMode ? [{ debugName: "wrap", alias: 'ngpToggleGroupWrap',
205
- transform: booleanAttribute }] : [{
206
- alias: 'ngpToggleGroupWrap',
207
- transform: booleanAttribute,
208
- }]));
197
+ this.wrap = input(this.config.wrap, { ...(ngDevMode ? { debugName: "wrap" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupWrap',
198
+ transform: booleanAttribute });
209
199
  /**
210
200
  * Whether toggle buttons can be deselected. If set to `false`, clicking a selected toggle button will not deselect it.
211
201
  * @default true
212
202
  */
213
- this.allowDeselection = input(this.config.allowDeselection, ...(ngDevMode ? [{ debugName: "allowDeselection", alias: 'ngpToggleGroupAllowDeselection',
214
- transform: booleanAttribute }] : [{
215
- alias: 'ngpToggleGroupAllowDeselection',
216
- transform: booleanAttribute,
217
- }]));
203
+ this.allowDeselection = input(this.config.allowDeselection, { ...(ngDevMode ? { debugName: "allowDeselection" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupAllowDeselection',
204
+ transform: booleanAttribute });
218
205
  /**
219
206
  * The type of the toggle group, whether only one item can be selected or multiple.
220
207
  */
221
- this.type = input(this.config.type, ...(ngDevMode ? [{ debugName: "type", alias: 'ngpToggleGroupType' }] : [{ alias: 'ngpToggleGroupType' }]));
208
+ this.type = input(this.config.type, { ...(ngDevMode ? { debugName: "type" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupType' });
222
209
  /**
223
210
  * The selected value(s) of the toggle group.
224
211
  */
225
- this.value = input(undefined, ...(ngDevMode ? [{ debugName: "value", alias: 'ngpToggleGroupValue' }] : [{ alias: 'ngpToggleGroupValue' }]));
212
+ this.value = input(undefined, { ...(ngDevMode ? { debugName: "value" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupValue' });
226
213
  /**
227
214
  * The default selected value(s) for uncontrolled usage.
228
215
  * @default []
229
216
  */
230
- this.defaultValue = input([], ...(ngDevMode ? [{ debugName: "defaultValue", alias: 'ngpToggleGroupDefaultValue' }] : [{ alias: 'ngpToggleGroupDefaultValue' }]));
217
+ this.defaultValue = input([], { ...(ngDevMode ? { debugName: "defaultValue" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupDefaultValue' });
231
218
  /**
232
219
  * Emits when the value of the toggle group changes.
233
220
  */
@@ -235,11 +222,8 @@ class NgpToggleGroup {
235
222
  /**
236
223
  * Whether the toggle group is disabled.
237
224
  */
238
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpToggleGroupDisabled',
239
- transform: booleanAttribute }] : [{
240
- alias: 'ngpToggleGroupDisabled',
241
- transform: booleanAttribute,
242
- }]));
225
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpToggleGroupDisabled',
226
+ transform: booleanAttribute });
243
227
  /**
244
228
  * The state of the toggle group.
245
229
  */
@@ -288,10 +272,10 @@ class NgpToggleGroup {
288
272
  setOrientation(newOrientation) {
289
273
  this.state.setOrientation(newOrientation);
290
274
  }
291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggleGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
292
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpToggleGroup, isStandalone: true, selector: "[ngpToggleGroup]", inputs: { orientation: { classPropertyName: "orientation", publicName: "ngpToggleGroupOrientation", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "ngpToggleGroupWrap", isSignal: true, isRequired: false, transformFunction: null }, allowDeselection: { classPropertyName: "allowDeselection", publicName: "ngpToggleGroupAllowDeselection", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "ngpToggleGroupType", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpToggleGroupValue", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "ngpToggleGroupDefaultValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleGroupDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "ngpToggleGroupValueChange" }, providers: [provideToggleGroupState(), provideRovingFocusGroupState({ inherit: true })], exportAs: ["ngpToggleGroup"], ngImport: i0 }); }
275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggleGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
276
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpToggleGroup, isStandalone: true, selector: "[ngpToggleGroup]", inputs: { orientation: { classPropertyName: "orientation", publicName: "ngpToggleGroupOrientation", isSignal: true, isRequired: false, transformFunction: null }, wrap: { classPropertyName: "wrap", publicName: "ngpToggleGroupWrap", isSignal: true, isRequired: false, transformFunction: null }, allowDeselection: { classPropertyName: "allowDeselection", publicName: "ngpToggleGroupAllowDeselection", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "ngpToggleGroupType", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "ngpToggleGroupValue", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "ngpToggleGroupDefaultValue", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleGroupDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "ngpToggleGroupValueChange" }, providers: [provideToggleGroupState(), provideRovingFocusGroupState({ inherit: true })], exportAs: ["ngpToggleGroup"], ngImport: i0 }); }
293
277
  }
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggleGroup, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggleGroup, decorators: [{
295
279
  type: Directive,
296
280
  args: [{
297
281
  selector: '[ngpToggleGroup]',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-toggle-group.mjs","sources":["../../../../packages/ng-primitives/toggle-group/src/config/toggle-group-config.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group/toggle-group-state.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group-item/toggle-group-item-state.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group-item/toggle-group-item.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group/toggle-group.ts","../../../../packages/ng-primitives/toggle-group/src/ng-primitives-toggle-group.ts"],"sourcesContent":["import { InjectionToken, Provider, inject } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\n\nexport interface NgpToggleGroupConfig {\n /**\n * The orientation of the toggle group.\n * @default 'horizontal'\n */\n orientation: NgpOrientation;\n\n /**\n * The type of the toggle group, whether only one item can be selected or multiple.\n * @default 'single'\n */\n type: 'single' | 'multiple';\n\n /**\n * Whether a toggle button can be deselected.\n * @default true\n */\n allowDeselection: boolean;\n\n /**\n * Whether focus should wrap around when reaching the end of the toggle group.\n * @default true\n */\n wrap: boolean;\n}\n\nexport const defaultToggleGroupConfig: NgpToggleGroupConfig = {\n orientation: 'horizontal',\n type: 'single',\n allowDeselection: true,\n wrap: true,\n};\n\nexport const NgpToggleGroupConfigToken = new InjectionToken<NgpToggleGroupConfig>(\n 'NgpToggleGroupConfigToken',\n);\n\n/**\n * Provide the default ToggleGroup configuration\n * @param config The ToggleGroup configuration\n * @returns The provider\n */\nexport function provideToggleGroupConfig(config: Partial<NgpToggleGroupConfig>): Provider[] {\n return [\n {\n provide: NgpToggleGroupConfigToken,\n useValue: { ...defaultToggleGroupConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the ToggleGroup configuration\n * @returns The global ToggleGroup configuration\n */\nexport function injectToggleGroupConfig(): NgpToggleGroupConfig {\n return inject(NgpToggleGroupConfigToken, { optional: true }) ?? defaultToggleGroupConfig;\n}\n","import { Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport {\n attrBinding,\n controlled,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n SetterOptions,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\n/**\n * The state interface for the ToggleGroup pattern.\n */\nexport interface NgpToggleGroupState {\n /**\n * The current value(s) of the toggle group.\n */\n readonly value: WritableSignal<string[]>;\n\n /**\n * Emit when the value changes.\n */\n readonly valueChange: Observable<string[]>;\n\n /**\n * Whether the toggle group is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n\n /**\n * The orientation of the toggle group.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Select a value in the toggle group.\n */\n select(selection: string): void;\n\n /**\n * De-select a value in the toggle group.\n */\n deselect(selection: string): void;\n\n /**\n * Check if a value is selected in the toggle group.\n */\n isSelected(selection: string): boolean;\n\n /**\n * Toggle a value in the toggle group.\n */\n toggle(selection: string): void;\n\n /**\n * Set the value(s) of the toggle group.\n */\n setValue(newValue: string[], options?: SetterOptions): void;\n\n /**\n * Set the default value(s) of the toggle group.\n */\n setDefaultValue(defaultValue: string[]): void;\n\n /**\n * Set the disabled state of the toggle group.\n */\n setDisabled(isDisabled: boolean): void;\n\n /**\n * Set the orientation of the toggle group.\n */\n setOrientation(newOrientation: NgpOrientation): void;\n}\n\n/**\n * The props interface for the ToggleGroup pattern.\n */\nexport interface NgpToggleGroupProps {\n /**\n * The roving focus group state for the toggle-group.\n */\n readonly rovingFocusGroup: NgpRovingFocusGroupState;\n\n /**\n * The orientation of the toggle-group.\n */\n readonly orientation?: Signal<NgpOrientation>;\n /**\n * Whether deselection is allowed in the toggle-group.\n */\n readonly allowDeselection?: Signal<boolean>;\n /**\n * The type of the toggle-group (e.g., 'single' or 'multiple').\n */\n readonly type?: Signal<'single' | 'multiple'>;\n /**\n * The value(s) of the toggle-group.\n */\n readonly value: Signal<string[] | undefined>;\n /**\n * The default value(s) of the toggle-group for uncontrolled usage.\n */\n readonly defaultValue?: Signal<string[]>;\n /**\n * Whether the toggle-group is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /**\n * Emit when the value changes.\n */\n readonly onValueChange?: (value: string[]) => void;\n}\n\nexport const [\n NgpToggleGroupStateToken,\n ngpToggleGroup,\n injectToggleGroupState,\n provideToggleGroupState,\n] = createPrimitive(\n 'NgpToggleGroup',\n ({\n rovingFocusGroup,\n orientation: _orientation,\n allowDeselection: _allowDeselection,\n type: _type,\n value: _value,\n defaultValue: _defaultValue,\n disabled: _disabled,\n onValueChange,\n }: NgpToggleGroupProps): NgpToggleGroupState => {\n const element = injectElementRef();\n\n const allowDeselection = controlled(_allowDeselection, true);\n const type = controlled(_type, 'single');\n const disabled = controlled(_disabled, false);\n const orientation = controlled(_orientation, 'horizontal');\n const defaultValue = controlled(_defaultValue, []);\n\n const [value, setValueInternal, valueChange] = controlledState<string[]>({\n value: _value,\n defaultValue,\n onChange: onValueChange,\n });\n\n // Host bindings\n attrBinding(element, 'role', 'group');\n dataBinding(element, 'data-orientation', orientation);\n dataBinding(element, 'data-type', type);\n dataBinding(element, 'data-disabled', disabled);\n\n /**\n * Select a value in the toggle group.\n */\n function select(selection: string): void {\n if (disabled()) {\n return;\n }\n\n let newValue: string[] = [];\n\n if (type() === 'single') {\n newValue = [selection];\n } else {\n newValue = [...value(), selection];\n }\n\n setValue(newValue);\n }\n\n /**\n * De-select a value in the toggle group.\n */\n function deselect(selection: string): void {\n if (disabled() || !allowDeselection()) {\n return;\n }\n\n const newValue = value().filter(v => v !== selection);\n setValue(newValue);\n }\n\n /**\n * Check if a value is selected in the toggle group.\n * @internal\n */\n function isSelected(itemValue: string): boolean {\n return value().includes(itemValue);\n }\n\n /**\n * Toggle a value in the toggle group.\n * @internal\n */\n function toggle(itemValue: string): void {\n if (isSelected(itemValue)) {\n deselect(itemValue);\n } else {\n select(itemValue);\n }\n }\n\n function setValue(newValue: string[], options?: SetterOptions): void {\n setValueInternal(newValue, options);\n }\n\n function setDisabled(isDisabled: boolean): void {\n disabled.set(isDisabled);\n }\n\n function setOrientation(newOrientation: NgpOrientation): void {\n orientation.set(newOrientation);\n rovingFocusGroup.setOrientation(newOrientation);\n }\n\n return {\n select,\n deselect,\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n isSelected,\n toggle,\n value: deprecatedSetter(value, 'setValue', setValue),\n orientation: deprecatedSetter(orientation, 'setOrientation', setOrientation),\n setValue,\n setDefaultValue: defaultValue.set,\n setDisabled,\n setOrientation,\n valueChange,\n } satisfies NgpToggleGroupState;\n },\n);\n","import { computed, signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectToggleGroupState } from '../toggle-group/toggle-group-state';\n\n/**\n * The state interface for the ToggleGroupItem pattern.\n */\nexport interface NgpToggleGroupItemState {\n selected: Signal<boolean>;\n toggle(): void;\n}\n\n/**\n * The props interface for the ToggleGroupItem pattern.\n */\nexport interface NgpToggleGroupItemProps {\n /**\n * The value of the toggle group item.\n */\n value: Signal<string>;\n\n /**\n * Whether the toggle group item is disabled.\n */\n disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpToggleGroupItemToken,\n ngpToggleGroupItem,\n injectToggleGroupItemState,\n provideToggleGroupItemState,\n] = createPrimitive(\n 'NgpToggleGroupItem',\n ({ value, disabled = signal(false) }: NgpToggleGroupItemProps): NgpToggleGroupItemState => {\n const element = injectElementRef();\n const toggleGroup = injectToggleGroupState();\n\n // Whether the item is selected.\n const selected = computed(() => toggleGroup()?.isSelected(value()!) ?? false);\n\n // Host bindings\n attrBinding(element, 'role', 'radio');\n attrBinding(element, 'aria-checked', selected);\n dataBinding(element, 'data-selected', selected);\n attrBinding(element, 'aria-disabled', disabled);\n dataBinding(element, 'data-disabled', disabled);\n\n // Host listener\n listener(element, 'click', () => toggle());\n\n // Toggle the item.\n const toggle = (): void => {\n if (disabled?.()) {\n return;\n }\n toggleGroup()?.toggle(value()!);\n };\n\n return { selected, toggle } satisfies NgpToggleGroupItemState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, OnInit, Signal } from '@angular/core';\nimport { ngpRovingFocusItem, provideRovingFocusItemState } from 'ng-primitives/roving-focus';\nimport { ngpToggleGroupItem, provideToggleGroupItemState } from './toggle-group-item-state';\n\n@Directive({\n selector: '[ngpToggleGroupItem]',\n exportAs: 'ngpToggleGroupItem',\n providers: [provideToggleGroupItemState(), provideRovingFocusItemState()],\n})\nexport class NgpToggleGroupItem implements OnInit {\n /**\n * The value of the item.\n * @required\n */\n readonly value = input<string>(undefined, {\n alias: 'ngpToggleGroupItemValue',\n });\n\n /**\n * Whether the item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleGroupItemDisabled',\n transform: booleanAttribute,\n });\n\n constructor() {\n ngpToggleGroupItem({\n value: this.value as Signal<string>,\n disabled: this.disabled,\n });\n // Initialize the roving focus item state\n ngpRovingFocusItem({ disabled: this.disabled });\n }\n\n ngOnInit(): void {\n // we can't use a required input for value as it is used in a computed property before the input is set\n if (this.value() === undefined) {\n throw new Error('The value input is required for the toggle group item.');\n }\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { ngpRovingFocusGroup, provideRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport { SetterOptions } from 'ng-primitives/state';\nimport { injectToggleGroupConfig } from '../config/toggle-group-config';\nimport { ngpToggleGroup, provideToggleGroupState } from './toggle-group-state';\n\n@Directive({\n selector: '[ngpToggleGroup]',\n exportAs: 'ngpToggleGroup',\n providers: [provideToggleGroupState(), provideRovingFocusGroupState({ inherit: true })],\n})\nexport class NgpToggleGroup {\n /**\n * Access the global toggle group configuration.\n */\n private readonly config = injectToggleGroupConfig();\n\n /**\n * The orientation of the toggle group.\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpToggleGroupOrientation',\n });\n\n /**\n * Whether focus should wrap around when reaching the end of the toggle group.\n * @default true\n */\n readonly wrap = input<boolean, BooleanInput>(this.config.wrap, {\n alias: 'ngpToggleGroupWrap',\n transform: booleanAttribute,\n });\n\n /**\n * Whether toggle buttons can be deselected. If set to `false`, clicking a selected toggle button will not deselect it.\n * @default true\n */\n readonly allowDeselection = input<boolean, BooleanInput>(this.config.allowDeselection, {\n alias: 'ngpToggleGroupAllowDeselection',\n transform: booleanAttribute,\n });\n\n /**\n * The type of the toggle group, whether only one item can be selected or multiple.\n */\n readonly type = input<'single' | 'multiple'>(this.config.type, { alias: 'ngpToggleGroupType' });\n\n /**\n * The selected value(s) of the toggle group.\n */\n readonly value = input<string[] | undefined>(undefined, { alias: 'ngpToggleGroupValue' });\n\n /**\n * The default selected value(s) for uncontrolled usage.\n * @default []\n */\n readonly defaultValue = input<string[]>([], { alias: 'ngpToggleGroupDefaultValue' });\n\n /**\n * Emits when the value of the toggle group changes.\n */\n readonly valueChange = output<string[]>({ alias: 'ngpToggleGroupValueChange' });\n\n /**\n * Whether the toggle group is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleGroupDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The state of the toggle group.\n */\n protected readonly state = ngpToggleGroup({\n rovingFocusGroup: ngpRovingFocusGroup({\n orientation: this.orientation,\n disabled: this.disabled,\n wrap: this.wrap,\n }),\n orientation: this.orientation,\n allowDeselection: this.allowDeselection,\n type: this.type,\n value: this.value,\n defaultValue: this.defaultValue,\n disabled: this.disabled,\n onValueChange: (value: string[]) => this.valueChange.emit(value),\n });\n\n /**\n * Toggle a value in the toggle group.\n */\n toggle(value: string): void {\n this.state.toggle(value);\n }\n\n /**\n * Set the value(s) of the toggle group.\n */\n setValue(newValue: string[], options?: SetterOptions): void {\n this.state.setValue(newValue, options);\n }\n\n /**\n * Set the default value(s) of the toggle group.\n */\n setDefaultValue(defaultValue: string[]): void {\n this.state.setDefaultValue(defaultValue);\n }\n\n /**\n * Set the disabled state of the toggle group.\n */\n setDisabled(isDisabled: boolean): void {\n this.state.setDisabled(isDisabled);\n }\n\n /**\n * Set the orientation of the toggle group.\n */\n setOrientation(newOrientation: NgpOrientation): void {\n this.state.setOrientation(newOrientation);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-primitives-toggle-group.mjs","sources":["../../../../packages/ng-primitives/toggle-group/src/config/toggle-group-config.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group/toggle-group-state.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group-item/toggle-group-item-state.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group-item/toggle-group-item.ts","../../../../packages/ng-primitives/toggle-group/src/toggle-group/toggle-group.ts","../../../../packages/ng-primitives/toggle-group/src/ng-primitives-toggle-group.ts"],"sourcesContent":["import { InjectionToken, Provider, inject } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\n\nexport interface NgpToggleGroupConfig {\n /**\n * The orientation of the toggle group.\n * @default 'horizontal'\n */\n orientation: NgpOrientation;\n\n /**\n * The type of the toggle group, whether only one item can be selected or multiple.\n * @default 'single'\n */\n type: 'single' | 'multiple';\n\n /**\n * Whether a toggle button can be deselected.\n * @default true\n */\n allowDeselection: boolean;\n\n /**\n * Whether focus should wrap around when reaching the end of the toggle group.\n * @default true\n */\n wrap: boolean;\n}\n\nexport const defaultToggleGroupConfig: NgpToggleGroupConfig = {\n orientation: 'horizontal',\n type: 'single',\n allowDeselection: true,\n wrap: true,\n};\n\nexport const NgpToggleGroupConfigToken = new InjectionToken<NgpToggleGroupConfig>(\n 'NgpToggleGroupConfigToken',\n);\n\n/**\n * Provide the default ToggleGroup configuration\n * @param config The ToggleGroup configuration\n * @returns The provider\n */\nexport function provideToggleGroupConfig(config: Partial<NgpToggleGroupConfig>): Provider[] {\n return [\n {\n provide: NgpToggleGroupConfigToken,\n useValue: { ...defaultToggleGroupConfig, ...config },\n },\n ];\n}\n\n/**\n * Inject the ToggleGroup configuration\n * @returns The global ToggleGroup configuration\n */\nexport function injectToggleGroupConfig(): NgpToggleGroupConfig {\n return inject(NgpToggleGroupConfigToken, { optional: true }) ?? defaultToggleGroupConfig;\n}\n","import { Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport {\n attrBinding,\n controlled,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n SetterOptions,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\n/**\n * The state interface for the ToggleGroup pattern.\n */\nexport interface NgpToggleGroupState {\n /**\n * The current value(s) of the toggle group.\n */\n readonly value: WritableSignal<string[]>;\n\n /**\n * Emit when the value changes.\n */\n readonly valueChange: Observable<string[]>;\n\n /**\n * Whether the toggle group is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n\n /**\n * The orientation of the toggle group.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Select a value in the toggle group.\n */\n select(selection: string): void;\n\n /**\n * De-select a value in the toggle group.\n */\n deselect(selection: string): void;\n\n /**\n * Check if a value is selected in the toggle group.\n */\n isSelected(selection: string): boolean;\n\n /**\n * Toggle a value in the toggle group.\n */\n toggle(selection: string): void;\n\n /**\n * Set the value(s) of the toggle group.\n */\n setValue(newValue: string[], options?: SetterOptions): void;\n\n /**\n * Set the default value(s) of the toggle group.\n */\n setDefaultValue(defaultValue: string[]): void;\n\n /**\n * Set the disabled state of the toggle group.\n */\n setDisabled(isDisabled: boolean): void;\n\n /**\n * Set the orientation of the toggle group.\n */\n setOrientation(newOrientation: NgpOrientation): void;\n}\n\n/**\n * The props interface for the ToggleGroup pattern.\n */\nexport interface NgpToggleGroupProps {\n /**\n * The roving focus group state for the toggle-group.\n */\n readonly rovingFocusGroup: NgpRovingFocusGroupState;\n\n /**\n * The orientation of the toggle-group.\n */\n readonly orientation?: Signal<NgpOrientation>;\n /**\n * Whether deselection is allowed in the toggle-group.\n */\n readonly allowDeselection?: Signal<boolean>;\n /**\n * The type of the toggle-group (e.g., 'single' or 'multiple').\n */\n readonly type?: Signal<'single' | 'multiple'>;\n /**\n * The value(s) of the toggle-group.\n */\n readonly value: Signal<string[] | undefined>;\n /**\n * The default value(s) of the toggle-group for uncontrolled usage.\n */\n readonly defaultValue?: Signal<string[]>;\n /**\n * Whether the toggle-group is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /**\n * Emit when the value changes.\n */\n readonly onValueChange?: (value: string[]) => void;\n}\n\nexport const [\n NgpToggleGroupStateToken,\n ngpToggleGroup,\n injectToggleGroupState,\n provideToggleGroupState,\n] = createPrimitive(\n 'NgpToggleGroup',\n ({\n rovingFocusGroup,\n orientation: _orientation,\n allowDeselection: _allowDeselection,\n type: _type,\n value: _value,\n defaultValue: _defaultValue,\n disabled: _disabled,\n onValueChange,\n }: NgpToggleGroupProps): NgpToggleGroupState => {\n const element = injectElementRef();\n\n const allowDeselection = controlled(_allowDeselection, true);\n const type = controlled(_type, 'single');\n const disabled = controlled(_disabled, false);\n const orientation = controlled(_orientation, 'horizontal');\n const defaultValue = controlled(_defaultValue, []);\n\n const [value, setValueInternal, valueChange] = controlledState<string[]>({\n value: _value,\n defaultValue,\n onChange: onValueChange,\n });\n\n // Host bindings\n attrBinding(element, 'role', 'group');\n dataBinding(element, 'data-orientation', orientation);\n dataBinding(element, 'data-type', type);\n dataBinding(element, 'data-disabled', disabled);\n\n /**\n * Select a value in the toggle group.\n */\n function select(selection: string): void {\n if (disabled()) {\n return;\n }\n\n let newValue: string[] = [];\n\n if (type() === 'single') {\n newValue = [selection];\n } else {\n newValue = [...value(), selection];\n }\n\n setValue(newValue);\n }\n\n /**\n * De-select a value in the toggle group.\n */\n function deselect(selection: string): void {\n if (disabled() || !allowDeselection()) {\n return;\n }\n\n const newValue = value().filter(v => v !== selection);\n setValue(newValue);\n }\n\n /**\n * Check if a value is selected in the toggle group.\n * @internal\n */\n function isSelected(itemValue: string): boolean {\n return value().includes(itemValue);\n }\n\n /**\n * Toggle a value in the toggle group.\n * @internal\n */\n function toggle(itemValue: string): void {\n if (isSelected(itemValue)) {\n deselect(itemValue);\n } else {\n select(itemValue);\n }\n }\n\n function setValue(newValue: string[], options?: SetterOptions): void {\n setValueInternal(newValue, options);\n }\n\n function setDisabled(isDisabled: boolean): void {\n disabled.set(isDisabled);\n }\n\n function setOrientation(newOrientation: NgpOrientation): void {\n orientation.set(newOrientation);\n rovingFocusGroup.setOrientation(newOrientation);\n }\n\n return {\n select,\n deselect,\n disabled: deprecatedSetter(disabled, 'setDisabled'),\n isSelected,\n toggle,\n value: deprecatedSetter(value, 'setValue', setValue),\n orientation: deprecatedSetter(orientation, 'setOrientation', setOrientation),\n setValue,\n setDefaultValue: defaultValue.set,\n setDisabled,\n setOrientation,\n valueChange,\n } satisfies NgpToggleGroupState;\n },\n);\n","import { computed, signal, Signal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectToggleGroupState } from '../toggle-group/toggle-group-state';\n\n/**\n * The state interface for the ToggleGroupItem pattern.\n */\nexport interface NgpToggleGroupItemState {\n selected: Signal<boolean>;\n toggle(): void;\n}\n\n/**\n * The props interface for the ToggleGroupItem pattern.\n */\nexport interface NgpToggleGroupItemProps {\n /**\n * The value of the toggle group item.\n */\n value: Signal<string>;\n\n /**\n * Whether the toggle group item is disabled.\n */\n disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpToggleGroupItemToken,\n ngpToggleGroupItem,\n injectToggleGroupItemState,\n provideToggleGroupItemState,\n] = createPrimitive(\n 'NgpToggleGroupItem',\n ({ value, disabled = signal(false) }: NgpToggleGroupItemProps): NgpToggleGroupItemState => {\n const element = injectElementRef();\n const toggleGroup = injectToggleGroupState();\n\n // Whether the item is selected.\n const selected = computed(() => toggleGroup()?.isSelected(value()!) ?? false);\n\n // Host bindings\n attrBinding(element, 'role', 'radio');\n attrBinding(element, 'aria-checked', selected);\n dataBinding(element, 'data-selected', selected);\n attrBinding(element, 'aria-disabled', disabled);\n dataBinding(element, 'data-disabled', disabled);\n\n // Host listener\n listener(element, 'click', () => toggle());\n\n // Toggle the item.\n const toggle = (): void => {\n if (disabled?.()) {\n return;\n }\n toggleGroup()?.toggle(value()!);\n };\n\n return { selected, toggle } satisfies NgpToggleGroupItemState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, OnInit, Signal } from '@angular/core';\nimport { ngpRovingFocusItem, provideRovingFocusItemState } from 'ng-primitives/roving-focus';\nimport { ngpToggleGroupItem, provideToggleGroupItemState } from './toggle-group-item-state';\n\n@Directive({\n selector: '[ngpToggleGroupItem]',\n exportAs: 'ngpToggleGroupItem',\n providers: [provideToggleGroupItemState(), provideRovingFocusItemState()],\n})\nexport class NgpToggleGroupItem implements OnInit {\n /**\n * The value of the item.\n * @required\n */\n readonly value = input<string>(undefined, {\n alias: 'ngpToggleGroupItemValue',\n });\n\n /**\n * Whether the item is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleGroupItemDisabled',\n transform: booleanAttribute,\n });\n\n constructor() {\n ngpToggleGroupItem({\n value: this.value as Signal<string>,\n disabled: this.disabled,\n });\n // Initialize the roving focus item state\n ngpRovingFocusItem({ disabled: this.disabled });\n }\n\n ngOnInit(): void {\n // we can't use a required input for value as it is used in a computed property before the input is set\n if (this.value() === undefined) {\n throw new Error('The value input is required for the toggle group item.');\n }\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { ngpRovingFocusGroup, provideRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport { SetterOptions } from 'ng-primitives/state';\nimport { injectToggleGroupConfig } from '../config/toggle-group-config';\nimport { ngpToggleGroup, provideToggleGroupState } from './toggle-group-state';\n\n@Directive({\n selector: '[ngpToggleGroup]',\n exportAs: 'ngpToggleGroup',\n providers: [provideToggleGroupState(), provideRovingFocusGroupState({ inherit: true })],\n})\nexport class NgpToggleGroup {\n /**\n * Access the global toggle group configuration.\n */\n private readonly config = injectToggleGroupConfig();\n\n /**\n * The orientation of the toggle group.\n */\n readonly orientation = input<NgpOrientation>(this.config.orientation, {\n alias: 'ngpToggleGroupOrientation',\n });\n\n /**\n * Whether focus should wrap around when reaching the end of the toggle group.\n * @default true\n */\n readonly wrap = input<boolean, BooleanInput>(this.config.wrap, {\n alias: 'ngpToggleGroupWrap',\n transform: booleanAttribute,\n });\n\n /**\n * Whether toggle buttons can be deselected. If set to `false`, clicking a selected toggle button will not deselect it.\n * @default true\n */\n readonly allowDeselection = input<boolean, BooleanInput>(this.config.allowDeselection, {\n alias: 'ngpToggleGroupAllowDeselection',\n transform: booleanAttribute,\n });\n\n /**\n * The type of the toggle group, whether only one item can be selected or multiple.\n */\n readonly type = input<'single' | 'multiple'>(this.config.type, { alias: 'ngpToggleGroupType' });\n\n /**\n * The selected value(s) of the toggle group.\n */\n readonly value = input<string[] | undefined>(undefined, { alias: 'ngpToggleGroupValue' });\n\n /**\n * The default selected value(s) for uncontrolled usage.\n * @default []\n */\n readonly defaultValue = input<string[]>([], { alias: 'ngpToggleGroupDefaultValue' });\n\n /**\n * Emits when the value of the toggle group changes.\n */\n readonly valueChange = output<string[]>({ alias: 'ngpToggleGroupValueChange' });\n\n /**\n * Whether the toggle group is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleGroupDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The state of the toggle group.\n */\n protected readonly state = ngpToggleGroup({\n rovingFocusGroup: ngpRovingFocusGroup({\n orientation: this.orientation,\n disabled: this.disabled,\n wrap: this.wrap,\n }),\n orientation: this.orientation,\n allowDeselection: this.allowDeselection,\n type: this.type,\n value: this.value,\n defaultValue: this.defaultValue,\n disabled: this.disabled,\n onValueChange: (value: string[]) => this.valueChange.emit(value),\n });\n\n /**\n * Toggle a value in the toggle group.\n */\n toggle(value: string): void {\n this.state.toggle(value);\n }\n\n /**\n * Set the value(s) of the toggle group.\n */\n setValue(newValue: string[], options?: SetterOptions): void {\n this.state.setValue(newValue, options);\n }\n\n /**\n * Set the default value(s) of the toggle group.\n */\n setDefaultValue(defaultValue: string[]): void {\n this.state.setDefaultValue(defaultValue);\n }\n\n /**\n * Set the disabled state of the toggle group.\n */\n setDisabled(isDisabled: boolean): void {\n this.state.setDisabled(isDisabled);\n }\n\n /**\n * Set the orientation of the toggle group.\n */\n setOrientation(newOrientation: NgpOrientation): void {\n this.state.setOrientation(newOrientation);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const [NgpToggleStateToken, ngpToggle, injectToggleState, provideToggleState] =
9
9
  const isButton = element.nativeElement.tagName.toLowerCase() === 'button';
10
10
  const defaultSelected = controlled(_defaultSelected, false);
11
11
  const disabled = controlled(_disabled, false);
12
- const tabindex = computed(() => (disabled() ? -1 : 0), ...(ngDevMode ? [{ debugName: "tabindex" }] : []));
12
+ const tabindex = computed(() => (disabled() ? -1 : 0), ...(ngDevMode ? [{ debugName: "tabindex" }] : /* istanbul ignore next */ []));
13
13
  const [selected, setSelected, selectedChange] = controlledState({
14
14
  value: _selected,
15
15
  defaultValue: defaultSelected,
@@ -67,20 +67,14 @@ class NgpToggle {
67
67
  /**
68
68
  * Whether the toggle is selected.
69
69
  */
70
- this.selected = input(undefined, ...(ngDevMode ? [{ debugName: "selected", alias: 'ngpToggleSelected',
71
- transform: booleanAttribute }] : [{
72
- alias: 'ngpToggleSelected',
73
- transform: booleanAttribute,
74
- }]));
70
+ this.selected = input(undefined, { ...(ngDevMode ? { debugName: "selected" } : /* istanbul ignore next */ {}), alias: 'ngpToggleSelected',
71
+ transform: booleanAttribute });
75
72
  /**
76
73
  * The default selected state for uncontrolled usage.
77
74
  * @default false
78
75
  */
79
- this.defaultSelected = input(false, ...(ngDevMode ? [{ debugName: "defaultSelected", alias: 'ngpToggleDefaultSelected',
80
- transform: booleanAttribute }] : [{
81
- alias: 'ngpToggleDefaultSelected',
82
- transform: booleanAttribute,
83
- }]));
76
+ this.defaultSelected = input(false, { ...(ngDevMode ? { debugName: "defaultSelected" } : /* istanbul ignore next */ {}), alias: 'ngpToggleDefaultSelected',
77
+ transform: booleanAttribute });
84
78
  /**
85
79
  * Emits when the selected state changes.
86
80
  */
@@ -91,11 +85,8 @@ class NgpToggle {
91
85
  * Whether the toggle is disabled.
92
86
  * @default false
93
87
  */
94
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", alias: 'ngpToggleDisabled',
95
- transform: booleanAttribute }] : [{
96
- alias: 'ngpToggleDisabled',
97
- transform: booleanAttribute,
98
- }]));
88
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), alias: 'ngpToggleDisabled',
89
+ transform: booleanAttribute });
99
90
  /**
100
91
  * The state for the toggle primitive.
101
92
  * @internal
@@ -131,10 +122,10 @@ class NgpToggle {
131
122
  setDisabled(value) {
132
123
  this.state.setDisabled(value);
133
124
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
135
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpToggle, isStandalone: true, selector: "[ngpToggle]", inputs: { selected: { classPropertyName: "selected", publicName: "ngpToggleSelected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "ngpToggleDefaultSelected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "ngpToggleSelectedChange" }, providers: [provideToggleState({ inherit: false })], exportAs: ["ngpToggle"], ngImport: i0 }); }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
126
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpToggle, isStandalone: true, selector: "[ngpToggle]", inputs: { selected: { classPropertyName: "selected", publicName: "ngpToggleSelected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "ngpToggleDefaultSelected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpToggleDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedChange: "ngpToggleSelectedChange" }, providers: [provideToggleState({ inherit: false })], exportAs: ["ngpToggle"], ngImport: i0 }); }
136
127
  }
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToggle, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToggle, decorators: [{
138
129
  type: Directive,
139
130
  args: [{
140
131
  selector: '[ngpToggle]',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-toggle.mjs","sources":["../../../../packages/ng-primitives/toggle/src/toggle/toggle-state.ts","../../../../packages/ng-primitives/toggle/src/toggle/toggle.ts","../../../../packages/ng-primitives/toggle/src/ng-primitives-toggle.ts"],"sourcesContent":["import { computed, Signal, WritableSignal } from '@angular/core';\nimport { ngpInteractions } from 'ng-primitives/interactions';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport {\n attrBinding,\n controlled,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n listener,\n SetterOptions,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\n/**\n * Public state surface for the Toggle primitive.\n */\nexport interface NgpToggleState {\n /**\n * Whether the toggle is selected.\n */\n readonly selected: WritableSignal<boolean>;\n /**\n * Whether the toggle is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n /**\n * Emits when the selected state changes.\n */\n readonly selectedChange: Observable<boolean>;\n /**\n * Toggle the selected state.\n */\n toggle(event?: Event): void;\n /**\n * Set the selected state.\n */\n setSelected(value: boolean, options?: SetterOptions): void;\n /**\n * Set the default selected state.\n */\n setDefaultSelected(value: boolean): void;\n /**\n * Set the disabled state.\n */\n setDisabled(value: boolean): void;\n}\n\n/**\n * Inputs for configuring the Toggle primitive.\n */\nexport interface NgpToggleProps {\n /**\n * Whether the toggle is selected.\n */\n readonly selected: Signal<boolean | undefined>;\n /**\n * The default selected state for uncontrolled usage.\n */\n readonly defaultSelected?: Signal<boolean>;\n /**\n * Whether the toggle is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /**\n * Callback fired when the selected state changes.\n */\n readonly onSelectedChange?: (selected: boolean) => void;\n}\n\nexport const [NgpToggleStateToken, ngpToggle, injectToggleState, provideToggleState] =\n createPrimitive(\n 'NgpToggle',\n ({\n selected: _selected,\n defaultSelected: _defaultSelected,\n disabled: _disabled,\n onSelectedChange,\n }: NgpToggleProps): NgpToggleState => {\n const element = injectElementRef<HTMLElement>();\n\n const isButton = element.nativeElement.tagName.toLowerCase() === 'button';\n const defaultSelected = controlled(_defaultSelected, false);\n const disabled = controlled(_disabled, false);\n const tabindex = computed(() => (disabled() ? -1 : 0));\n\n const [selected, setSelected, selectedChange] = controlledState({\n value: _selected,\n defaultValue: defaultSelected,\n onChange: onSelectedChange,\n });\n\n ngpInteractions({\n hover: true,\n press: true,\n focusVisible: true,\n disabled,\n });\n\n // Host bindings\n attrBinding(element, 'type', () => (isButton ? 'button' : null));\n attrBinding(element, 'aria-pressed', selected);\n dataBinding(element, 'data-selected', selected);\n dataBinding(element, 'data-disabled', disabled);\n attrBinding(element, 'aria-disabled', disabled);\n attrBinding(element, 'tabindex', () => tabindex().toString());\n\n // Listeners\n listener(element, 'click', event => toggle(event));\n listener(element, 'keydown', (event: KeyboardEvent) => {\n if (event.key === ' ' || event.key === 'Spacebar') {\n if (!isButton && element.nativeElement.tagName !== 'a') {\n event.preventDefault();\n toggle(event);\n }\n }\n });\n\n function toggle(event?: Event): void {\n if (disabled()) {\n return;\n }\n\n event?.preventDefault?.();\n setSelected(!selected());\n }\n\n function setDisabled(value: boolean): void {\n disabled.set(value);\n }\n\n return {\n selected: deprecatedSetter(selected, 'setSelected', setSelected),\n disabled: deprecatedSetter(disabled, 'setDisabled', setDisabled),\n selectedChange,\n toggle,\n setSelected,\n setDefaultSelected: defaultSelected.set,\n setDisabled,\n } satisfies NgpToggleState;\n },\n );\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { SetterOptions } from 'ng-primitives/state';\nimport { ngpToggle, provideToggleState } from './toggle-state';\n\n/**\n * Apply the `ngpToggle` directive to an element to manage the toggle state. This must be applied to a `button` element.\n */\n@Directive({\n selector: '[ngpToggle]',\n exportAs: 'ngpToggle',\n providers: [provideToggleState({ inherit: false })],\n})\nexport class NgpToggle {\n /**\n * Whether the toggle is selected.\n */\n readonly selected = input<boolean | undefined, BooleanInput>(undefined, {\n alias: 'ngpToggleSelected',\n transform: booleanAttribute,\n });\n\n /**\n * The default selected state for uncontrolled usage.\n * @default false\n */\n readonly defaultSelected = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleDefaultSelected',\n transform: booleanAttribute,\n });\n\n /**\n * Emits when the selected state changes.\n */\n readonly selectedChange = output<boolean>({\n alias: 'ngpToggleSelectedChange',\n });\n\n /**\n * Whether the toggle is disabled.\n * @default false\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The state for the toggle primitive.\n * @internal\n */\n protected readonly state = ngpToggle({\n selected: this.selected,\n defaultSelected: this.defaultSelected,\n disabled: this.disabled,\n onSelectedChange: value => this.selectedChange.emit(value),\n });\n\n /**\n * Toggle the selected state.\n */\n toggle(): void {\n this.state.toggle();\n }\n\n /**\n * Set the selected state.\n */\n setSelected(value: boolean, options?: SetterOptions): void {\n this.state.setSelected(value, options);\n }\n\n /**\n * Set the default selected state.\n */\n setDefaultSelected(value: boolean): void {\n this.state.setDefaultSelected(value);\n }\n\n /*\n * Set the disabled state.\n */\n setDisabled(value: boolean): void {\n this.state.setDisabled(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-primitives-toggle.mjs","sources":["../../../../packages/ng-primitives/toggle/src/toggle/toggle-state.ts","../../../../packages/ng-primitives/toggle/src/toggle/toggle.ts","../../../../packages/ng-primitives/toggle/src/ng-primitives-toggle.ts"],"sourcesContent":["import { computed, Signal, WritableSignal } from '@angular/core';\nimport { ngpInteractions } from 'ng-primitives/interactions';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport {\n attrBinding,\n controlled,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n listener,\n SetterOptions,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\n/**\n * Public state surface for the Toggle primitive.\n */\nexport interface NgpToggleState {\n /**\n * Whether the toggle is selected.\n */\n readonly selected: WritableSignal<boolean>;\n /**\n * Whether the toggle is disabled.\n */\n readonly disabled: WritableSignal<boolean>;\n /**\n * Emits when the selected state changes.\n */\n readonly selectedChange: Observable<boolean>;\n /**\n * Toggle the selected state.\n */\n toggle(event?: Event): void;\n /**\n * Set the selected state.\n */\n setSelected(value: boolean, options?: SetterOptions): void;\n /**\n * Set the default selected state.\n */\n setDefaultSelected(value: boolean): void;\n /**\n * Set the disabled state.\n */\n setDisabled(value: boolean): void;\n}\n\n/**\n * Inputs for configuring the Toggle primitive.\n */\nexport interface NgpToggleProps {\n /**\n * Whether the toggle is selected.\n */\n readonly selected: Signal<boolean | undefined>;\n /**\n * The default selected state for uncontrolled usage.\n */\n readonly defaultSelected?: Signal<boolean>;\n /**\n * Whether the toggle is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /**\n * Callback fired when the selected state changes.\n */\n readonly onSelectedChange?: (selected: boolean) => void;\n}\n\nexport const [NgpToggleStateToken, ngpToggle, injectToggleState, provideToggleState] =\n createPrimitive(\n 'NgpToggle',\n ({\n selected: _selected,\n defaultSelected: _defaultSelected,\n disabled: _disabled,\n onSelectedChange,\n }: NgpToggleProps): NgpToggleState => {\n const element = injectElementRef<HTMLElement>();\n\n const isButton = element.nativeElement.tagName.toLowerCase() === 'button';\n const defaultSelected = controlled(_defaultSelected, false);\n const disabled = controlled(_disabled, false);\n const tabindex = computed(() => (disabled() ? -1 : 0));\n\n const [selected, setSelected, selectedChange] = controlledState({\n value: _selected,\n defaultValue: defaultSelected,\n onChange: onSelectedChange,\n });\n\n ngpInteractions({\n hover: true,\n press: true,\n focusVisible: true,\n disabled,\n });\n\n // Host bindings\n attrBinding(element, 'type', () => (isButton ? 'button' : null));\n attrBinding(element, 'aria-pressed', selected);\n dataBinding(element, 'data-selected', selected);\n dataBinding(element, 'data-disabled', disabled);\n attrBinding(element, 'aria-disabled', disabled);\n attrBinding(element, 'tabindex', () => tabindex().toString());\n\n // Listeners\n listener(element, 'click', event => toggle(event));\n listener(element, 'keydown', (event: KeyboardEvent) => {\n if (event.key === ' ' || event.key === 'Spacebar') {\n if (!isButton && element.nativeElement.tagName !== 'a') {\n event.preventDefault();\n toggle(event);\n }\n }\n });\n\n function toggle(event?: Event): void {\n if (disabled()) {\n return;\n }\n\n event?.preventDefault?.();\n setSelected(!selected());\n }\n\n function setDisabled(value: boolean): void {\n disabled.set(value);\n }\n\n return {\n selected: deprecatedSetter(selected, 'setSelected', setSelected),\n disabled: deprecatedSetter(disabled, 'setDisabled', setDisabled),\n selectedChange,\n toggle,\n setSelected,\n setDefaultSelected: defaultSelected.set,\n setDisabled,\n } satisfies NgpToggleState;\n },\n );\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, output } from '@angular/core';\nimport { SetterOptions } from 'ng-primitives/state';\nimport { ngpToggle, provideToggleState } from './toggle-state';\n\n/**\n * Apply the `ngpToggle` directive to an element to manage the toggle state. This must be applied to a `button` element.\n */\n@Directive({\n selector: '[ngpToggle]',\n exportAs: 'ngpToggle',\n providers: [provideToggleState({ inherit: false })],\n})\nexport class NgpToggle {\n /**\n * Whether the toggle is selected.\n */\n readonly selected = input<boolean | undefined, BooleanInput>(undefined, {\n alias: 'ngpToggleSelected',\n transform: booleanAttribute,\n });\n\n /**\n * The default selected state for uncontrolled usage.\n * @default false\n */\n readonly defaultSelected = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleDefaultSelected',\n transform: booleanAttribute,\n });\n\n /**\n * Emits when the selected state changes.\n */\n readonly selectedChange = output<boolean>({\n alias: 'ngpToggleSelectedChange',\n });\n\n /**\n * Whether the toggle is disabled.\n * @default false\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpToggleDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The state for the toggle primitive.\n * @internal\n */\n protected readonly state = ngpToggle({\n selected: this.selected,\n defaultSelected: this.defaultSelected,\n disabled: this.disabled,\n onSelectedChange: value => this.selectedChange.emit(value),\n });\n\n /**\n * Toggle the selected state.\n */\n toggle(): void {\n this.state.toggle();\n }\n\n /**\n * Set the selected state.\n */\n setSelected(value: boolean, options?: SetterOptions): void {\n this.state.setSelected(value, options);\n }\n\n /**\n * Set the default selected state.\n */\n setDefaultSelected(value: boolean): void {\n this.state.setDefaultSelected(value);\n }\n\n /*\n * Set the disabled state.\n */\n setDisabled(value: boolean): void {\n this.state.setDisabled(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -26,9 +26,7 @@ class NgpToolbar {
26
26
  /**
27
27
  * The orientation of the toolbar.
28
28
  */
29
- this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation", alias: 'ngpToolbarOrientation' }] : [{
30
- alias: 'ngpToolbarOrientation',
31
- }]));
29
+ this.orientation = input('horizontal', { ...(ngDevMode ? { debugName: "orientation" } : /* istanbul ignore next */ {}), alias: 'ngpToolbarOrientation' });
32
30
  /**
33
31
  * The toolbar state.
34
32
  */
@@ -37,10 +35,10 @@ class NgpToolbar {
37
35
  orientation: this.orientation,
38
36
  });
39
37
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToolbar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.9", type: NgpToolbar, isStandalone: true, selector: "[ngpToolbar]", inputs: { orientation: { classPropertyName: "orientation", publicName: "ngpToolbarOrientation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideToolbarState(), provideRovingFocusGroupState()], exportAs: ["ngpToolbar"], ngImport: i0 }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToolbar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
39
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: NgpToolbar, isStandalone: true, selector: "[ngpToolbar]", inputs: { orientation: { classPropertyName: "orientation", publicName: "ngpToolbarOrientation", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideToolbarState(), provideRovingFocusGroupState()], exportAs: ["ngpToolbar"], ngImport: i0 }); }
42
40
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImport: i0, type: NgpToolbar, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: NgpToolbar, decorators: [{
44
42
  type: Directive,
45
43
  args: [{
46
44
  selector: '[ngpToolbar]',
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-toolbar.mjs","sources":["../../../../packages/ng-primitives/toolbar/src/toolbar/toolbar-state.ts","../../../../packages/ng-primitives/toolbar/src/toolbar/toolbar.ts","../../../../packages/ng-primitives/toolbar/src/ng-primitives-toolbar.ts"],"sourcesContent":["import { Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport {\n attrBinding,\n controlled,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n} from 'ng-primitives/state';\n\nexport interface NgpToolbarState {\n /**\n * The orientation of the toolbar.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Set the orientation of the toolbar.\n * @param value The orientation value\n */\n setOrientation(value: NgpOrientation): void;\n}\n\nexport interface NgpToolbarProps {\n /**\n * The roving focus group state.\n */\n readonly rovingFocusGroup: NgpRovingFocusGroupState;\n /**\n * The orientation of the toolbar.\n */\n readonly orientation: Signal<NgpOrientation>;\n}\n\nexport const [NgpToolbarStateToken, ngpToolbar, injectToolbarState, provideToolbarState] =\n createPrimitive(\n 'NgpToolbar',\n ({ rovingFocusGroup, orientation: _orientation }: NgpToolbarProps) => {\n const element = injectElementRef();\n const orientation = controlled(_orientation);\n\n // Setup host attribute bindings\n attrBinding(element, 'role', 'toolbar');\n attrBinding(element, 'aria-orientation', orientation);\n dataBinding(element, 'data-orientation', orientation);\n\n function setOrientation(value: NgpOrientation) {\n orientation.set(value);\n rovingFocusGroup.setOrientation(value);\n }\n\n return {\n orientation: deprecatedSetter(orientation, 'setOrientation'),\n setOrientation,\n } satisfies NgpToolbarState;\n },\n );\n","import { Directive, input } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { ngpRovingFocusGroup, provideRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport { ngpToolbar, provideToolbarState } from './toolbar-state';\n\n@Directive({\n selector: '[ngpToolbar]',\n exportAs: 'ngpToolbar',\n providers: [provideToolbarState(), provideRovingFocusGroupState()],\n})\nexport class NgpToolbar {\n /**\n * The orientation of the toolbar.\n */\n readonly orientation = input<NgpOrientation>('horizontal', {\n alias: 'ngpToolbarOrientation',\n });\n\n /**\n * The toolbar state.\n */\n protected readonly state = ngpToolbar({\n rovingFocusGroup: ngpRovingFocusGroup({ orientation: this.orientation }),\n orientation: this.orientation,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAmCO,MAAM,CAAC,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,GACtF,eAAe,CACb,YAAY,EACZ,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAmB,KAAI;AACnE,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE;AAClC,IAAA,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;;AAG5C,IAAA,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;AACvC,IAAA,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC;AACrD,IAAA,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC;IAErD,SAAS,cAAc,CAAC,KAAqB,EAAA;AAC3C,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC;IACxC;IAEA,OAAO;AACL,QAAA,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAC5D,cAAc;KACW;AAC7B,CAAC;;MC9CQ,UAAU,CAAA;AALvB,IAAA,WAAA,GAAA;AAME;;AAEG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAiB,YAAY,+CACvD,KAAK,EAAE,uBAAuB,EAAA,CAAA,GAAA,CAD2B;AACzD,gBAAA,KAAK,EAAE,uBAAuB;AAC/B,aAAA,CAAA,CAAA,CAAC;AAEF;;AAEG;QACgB,IAAA,CAAA,KAAK,GAAG,UAAU,CAAC;YACpC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACxE,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC;AACH,IAAA;8GAfY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,2NAFV,CAAC,mBAAmB,EAAE,EAAE,4BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAEvD,UAAU,EAAA,UAAA,EAAA,CAAA;kBALtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE,4BAA4B,EAAE,CAAC;AACnE,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-primitives-toolbar.mjs","sources":["../../../../packages/ng-primitives/toolbar/src/toolbar/toolbar-state.ts","../../../../packages/ng-primitives/toolbar/src/toolbar/toolbar.ts","../../../../packages/ng-primitives/toolbar/src/ng-primitives-toolbar.ts"],"sourcesContent":["import { Signal, WritableSignal } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { NgpRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport {\n attrBinding,\n controlled,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n} from 'ng-primitives/state';\n\nexport interface NgpToolbarState {\n /**\n * The orientation of the toolbar.\n */\n readonly orientation: WritableSignal<NgpOrientation>;\n /**\n * Set the orientation of the toolbar.\n * @param value The orientation value\n */\n setOrientation(value: NgpOrientation): void;\n}\n\nexport interface NgpToolbarProps {\n /**\n * The roving focus group state.\n */\n readonly rovingFocusGroup: NgpRovingFocusGroupState;\n /**\n * The orientation of the toolbar.\n */\n readonly orientation: Signal<NgpOrientation>;\n}\n\nexport const [NgpToolbarStateToken, ngpToolbar, injectToolbarState, provideToolbarState] =\n createPrimitive(\n 'NgpToolbar',\n ({ rovingFocusGroup, orientation: _orientation }: NgpToolbarProps) => {\n const element = injectElementRef();\n const orientation = controlled(_orientation);\n\n // Setup host attribute bindings\n attrBinding(element, 'role', 'toolbar');\n attrBinding(element, 'aria-orientation', orientation);\n dataBinding(element, 'data-orientation', orientation);\n\n function setOrientation(value: NgpOrientation) {\n orientation.set(value);\n rovingFocusGroup.setOrientation(value);\n }\n\n return {\n orientation: deprecatedSetter(orientation, 'setOrientation'),\n setOrientation,\n } satisfies NgpToolbarState;\n },\n );\n","import { Directive, input } from '@angular/core';\nimport { NgpOrientation } from 'ng-primitives/common';\nimport { ngpRovingFocusGroup, provideRovingFocusGroupState } from 'ng-primitives/roving-focus';\nimport { ngpToolbar, provideToolbarState } from './toolbar-state';\n\n@Directive({\n selector: '[ngpToolbar]',\n exportAs: 'ngpToolbar',\n providers: [provideToolbarState(), provideRovingFocusGroupState()],\n})\nexport class NgpToolbar {\n /**\n * The orientation of the toolbar.\n */\n readonly orientation = input<NgpOrientation>('horizontal', {\n alias: 'ngpToolbarOrientation',\n });\n\n /**\n * The toolbar state.\n */\n protected readonly state = ngpToolbar({\n rovingFocusGroup: ngpRovingFocusGroup({ orientation: this.orientation }),\n orientation: this.orientation,\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAmCO,MAAM,CAAC,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,CAAC,GACtF,eAAe,CACb,YAAY,EACZ,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAmB,KAAI;AACnE,IAAA,MAAM,OAAO,GAAG,gBAAgB,EAAE;AAClC,IAAA,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC;;AAG5C,IAAA,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;AACvC,IAAA,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC;AACrD,IAAA,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,WAAW,CAAC;IAErD,SAAS,cAAc,CAAC,KAAqB,EAAA;AAC3C,QAAA,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,QAAA,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC;IACxC;IAEA,OAAO;AACL,QAAA,WAAW,EAAE,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC;QAC5D,cAAc;KACW;AAC7B,CAAC;;MC9CQ,UAAU,CAAA;AALvB,IAAA,WAAA,GAAA;AAME;;AAEG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAiB,YAAY,mFACvD,KAAK,EAAE,uBAAuB,EAAA,CAC9B;AAEF;;AAEG;QACgB,IAAA,CAAA,KAAK,GAAG,UAAU,CAAC;YACpC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACxE,WAAW,EAAE,IAAI,CAAC,WAAW;AAC9B,SAAA,CAAC;AACH,IAAA;+GAfY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,2NAFV,CAAC,mBAAmB,EAAE,EAAE,4BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAEvD,UAAU,EAAA,UAAA,EAAA,CAAA;kBALtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,SAAS,EAAE,CAAC,mBAAmB,EAAE,EAAE,4BAA4B,EAAE,CAAC;AACnE,iBAAA;;;ACTD;;AAEG;;;;"}