@cdevhub/ngx-tw 0.6.1 → 0.7.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 (47) hide show
  1. package/fesm2022/cdevhub-ngx-tw-alert.mjs +8 -1
  2. package/fesm2022/cdevhub-ngx-tw-alert.mjs.map +1 -1
  3. package/fesm2022/cdevhub-ngx-tw-badge.mjs +18 -8
  4. package/fesm2022/cdevhub-ngx-tw-badge.mjs.map +1 -1
  5. package/fesm2022/cdevhub-ngx-tw-button.mjs +14 -8
  6. package/fesm2022/cdevhub-ngx-tw-button.mjs.map +1 -1
  7. package/fesm2022/cdevhub-ngx-tw-card.mjs +7 -7
  8. package/fesm2022/cdevhub-ngx-tw-card.mjs.map +1 -1
  9. package/fesm2022/cdevhub-ngx-tw-checkbox.mjs +2 -2
  10. package/fesm2022/cdevhub-ngx-tw-checkbox.mjs.map +1 -1
  11. package/fesm2022/cdevhub-ngx-tw-collapsible.mjs +7 -7
  12. package/fesm2022/cdevhub-ngx-tw-collapsible.mjs.map +1 -1
  13. package/fesm2022/cdevhub-ngx-tw-combobox.mjs +8 -8
  14. package/fesm2022/cdevhub-ngx-tw-combobox.mjs.map +1 -1
  15. package/fesm2022/cdevhub-ngx-tw-date-picker.mjs +8 -8
  16. package/fesm2022/cdevhub-ngx-tw-date-picker.mjs.map +1 -1
  17. package/fesm2022/cdevhub-ngx-tw-date-range-picker.mjs +8 -8
  18. package/fesm2022/cdevhub-ngx-tw-date-range-picker.mjs.map +1 -1
  19. package/fesm2022/cdevhub-ngx-tw-form-field.mjs +16 -16
  20. package/fesm2022/cdevhub-ngx-tw-form-field.mjs.map +1 -1
  21. package/fesm2022/cdevhub-ngx-tw-input.mjs +1 -1
  22. package/fesm2022/cdevhub-ngx-tw-input.mjs.map +1 -1
  23. package/fesm2022/cdevhub-ngx-tw-paginator.mjs +7 -7
  24. package/fesm2022/cdevhub-ngx-tw-paginator.mjs.map +1 -1
  25. package/fesm2022/cdevhub-ngx-tw-popover.mjs +10 -4
  26. package/fesm2022/cdevhub-ngx-tw-popover.mjs.map +1 -1
  27. package/fesm2022/cdevhub-ngx-tw-radio.mjs +2 -2
  28. package/fesm2022/cdevhub-ngx-tw-radio.mjs.map +1 -1
  29. package/fesm2022/cdevhub-ngx-tw-select.mjs +7 -7
  30. package/fesm2022/cdevhub-ngx-tw-select.mjs.map +1 -1
  31. package/fesm2022/cdevhub-ngx-tw-separator.mjs +7 -7
  32. package/fesm2022/cdevhub-ngx-tw-separator.mjs.map +1 -1
  33. package/fesm2022/cdevhub-ngx-tw-slider.mjs +21 -21
  34. package/fesm2022/cdevhub-ngx-tw-slider.mjs.map +1 -1
  35. package/fesm2022/cdevhub-ngx-tw-switch.mjs +1 -1
  36. package/fesm2022/cdevhub-ngx-tw-switch.mjs.map +1 -1
  37. package/fesm2022/cdevhub-ngx-tw-tabs.mjs +29 -9
  38. package/fesm2022/cdevhub-ngx-tw-tabs.mjs.map +1 -1
  39. package/fesm2022/cdevhub-ngx-tw-tags-input.mjs +8 -8
  40. package/fesm2022/cdevhub-ngx-tw-tags-input.mjs.map +1 -1
  41. package/fesm2022/cdevhub-ngx-tw-theme.mjs.map +1 -1
  42. package/fesm2022/cdevhub-ngx-tw-time-picker.mjs +8 -8
  43. package/fesm2022/cdevhub-ngx-tw-time-picker.mjs.map +1 -1
  44. package/index.json +1 -1
  45. package/package.json +1 -1
  46. package/types/cdevhub-ngx-tw-tabs.d.ts +23 -3
  47. package/types/cdevhub-ngx-tw-theme.d.ts +18 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdevhub/ngx-tw",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Angular component library for Tailwind CSS v4 — accessible, signal-based, built on Angular CDK.",
5
5
  "keywords": [
6
6
  "angular",
@@ -22,8 +22,28 @@ declare class TabComponent {
22
22
  readonly label: _angular_core.InputSignal<string>;
23
23
  /** When true, the tab cannot be selected and is skipped by keyboard navigation. Defaults to false. */
24
24
  readonly disabled: _angular_core.InputSignal<boolean>;
25
- /** When true, a dismiss control is rendered in the tab trigger. The control is pointer-only; the keyboard gesture is Delete on the focused tab. Defaults to false. */
26
- readonly closable: _angular_core.InputSignal<boolean>;
25
+ /**
26
+ * When true, a dismiss control is rendered in the tab trigger. The control is pointer-only; the keyboard gesture is Delete on the focused tab. Defaults to false.
27
+ *
28
+ * @deprecated Bind `dismissible` instead. `closable` was the library's only
29
+ * spelling of this concept — `alert`, `badge` and `toast` all call it
30
+ * `dismissible` — and one idea should not have two names. Both work; `closable`
31
+ * is removed in the next major.
32
+ */
33
+ readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
34
+ /**
35
+ * When true, a dismiss control is rendered in the tab trigger. The control is pointer-only; the keyboard gesture is Delete on the focused tab. Defaults to false.
36
+ *
37
+ * Canonical spelling, matching `alert`, `badge` and `toast`. Supersedes the
38
+ * deprecated `closable`; binding either one enables the control.
39
+ */
40
+ readonly dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
41
+ /**
42
+ * @internal Whether a dismiss control should render, from either spelling.
43
+ * Both inputs default to `false`, so `||` is the correct reconciliation: it is
44
+ * true exactly when the consumer opted in through one name or the other.
45
+ */
46
+ readonly isDismissible: _angular_core.Signal<boolean>;
27
47
  /** When true, the tab panel content is only instantiated when the tab becomes active for the first time. Defaults to false. */
28
48
  readonly lazy: _angular_core.InputSignal<boolean>;
29
49
  /** @internal Custom trigger template, if provided. */
@@ -33,7 +53,7 @@ declare class TabComponent {
33
53
  /** @internal Implicit content template wrapping ng-content. */
34
54
  readonly implicitContentTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
35
55
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabComponent, never>;
36
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "tw-tab", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; }, {}, ["triggerTemplate", "contentTemplate"], ["*"], true, never>;
56
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabComponent, "tw-tab", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; }, {}, ["triggerTemplate", "contentTemplate"], ["*"], true, never>;
37
57
  }
38
58
  declare class TabTriggerElementDirective implements FocusableOption {
39
59
  readonly elementRef: ElementRef<any>;
@@ -41,7 +41,24 @@ interface TwThemeConfig {
41
41
  * the service never does.
42
42
  */
43
43
  storageKey?: string;
44
- /** The HTML attribute written to the target element. Defaults to `'data-theme'`. */
44
+ /**
45
+ * The HTML attribute written to the target element. Defaults to `'data-theme'`.
46
+ *
47
+ * @deprecated Changing this breaks theming, and cannot be made to work. The
48
+ * shipped stylesheets key off the **literal** `data-theme` — `_light.css`,
49
+ * `_dark.css` and both high-contrast files each declare an element-agnostic
50
+ * `[data-theme="…"]` block, and CSS cannot parameterise an attribute name. So
51
+ * a renamed attribute matches none of them: `ThemeService.applyToElement()`
52
+ * writes the new name and nothing reacts, while `ThemeDirective` ignores this
53
+ * option entirely and keeps writing `data-theme` (which is the only reason
54
+ * `[twTheme]` still works when it is set). Two of the three consumers
55
+ * therefore disagree with it by design.
56
+ *
57
+ * It is deprecated rather than removed because removing it is a breaking
58
+ * change; it will go in the next major. To scope a theme to a subtree use the
59
+ * `[twTheme]` directive, and to retheme, override the semantic tokens in your
60
+ * own `@theme` block rather than renaming the attribute they hang off.
61
+ */
45
62
  attribute?: string;
46
63
  /** Which element receives the theme attribute. Defaults to `'documentElement'`. */
47
64
  target?: 'documentElement' | 'body';