@kksdev/ds-angular 1.8.0 → 1.8.2

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.
package/index.d.ts CHANGED
@@ -3464,6 +3464,62 @@ declare class DsTooltip implements OnDestroy {
3464
3464
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DsTooltip, "[dsTooltip]", never, { "dsTooltip": { "alias": "dsTooltip"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
3465
3465
  }
3466
3466
 
3467
+ /**
3468
+ * # DsAccordionItem
3469
+ *
3470
+ * Composant enfant pour le mode template-driven de DsAccordion.
3471
+ * Permet d'injecter du contenu Angular riche (composants, HTML, etc.).
3472
+ *
3473
+ * ## Usage
3474
+ *
3475
+ * ```html
3476
+ * <ds-accordion [multiple]="true">
3477
+ * <ds-accordion-item header="Section 1" [badge]="items.length">
3478
+ * <div>Contenu riche ici</div>
3479
+ * <my-component />
3480
+ * </ds-accordion-item>
3481
+ * </ds-accordion>
3482
+ * ```
3483
+ *
3484
+ * @component
3485
+ */
3486
+ declare class DsAccordionItem {
3487
+ /**
3488
+ * Texte du header.
3489
+ */
3490
+ readonly header: _angular_core.InputSignal<string>;
3491
+ /**
3492
+ * Badge optionnel affiché à côté du header (ex: compteur).
3493
+ */
3494
+ readonly badge: _angular_core.InputSignal<string | number | undefined>;
3495
+ /**
3496
+ * ID unique de l'item. Auto-généré si non fourni.
3497
+ */
3498
+ readonly id: _angular_core.InputSignal<string>;
3499
+ /**
3500
+ * Désactiver cet item.
3501
+ * @default false
3502
+ */
3503
+ readonly disabled: _angular_core.InputSignal<boolean>;
3504
+ /**
3505
+ * Template du contenu projeté.
3506
+ * @internal
3507
+ */
3508
+ contentTemplate: TemplateRef<unknown>;
3509
+ /**
3510
+ * État d'expansion (contrôlé par le parent DsAccordion).
3511
+ * @internal
3512
+ */
3513
+ readonly _expanded: _angular_core.WritableSignal<boolean>;
3514
+ /**
3515
+ * Index dans la liste (injecté par le parent).
3516
+ * @internal
3517
+ */
3518
+ readonly _index: _angular_core.WritableSignal<number>;
3519
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsAccordionItem, never>;
3520
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsAccordionItem, "ds-accordion-item", never, { "header": { "alias": "header"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
3521
+ }
3522
+
3467
3523
  /**
3468
3524
  * Taille de l'accordion.
3469
3525
  */
@@ -3512,10 +3568,12 @@ interface AccordionChangeEvent {
3512
3568
  *
3513
3569
  * @component
3514
3570
  */
3515
- declare class DsAccordion {
3571
+ declare class DsAccordion implements AfterContentInit {
3516
3572
  readonly faChevronDown: _fortawesome_fontawesome_common_types.IconDefinition;
3517
3573
  /**
3518
- * Liste des items de l'accordion.
3574
+ * Liste des items de l'accordion (mode data-driven).
3575
+ * Laisser vide pour utiliser le mode template-driven avec <ds-accordion-item>.
3576
+ * @default []
3519
3577
  */
3520
3578
  items: _angular_core.InputSignal<AccordionItem[]>;
3521
3579
  /**
@@ -3543,20 +3601,39 @@ declare class DsAccordion {
3543
3601
  * @default false
3544
3602
  */
3545
3603
  disabled: _angular_core.InputSignal<boolean>;
3604
+ /**
3605
+ * Couleur de bordure quand un item est ouvert (variant separated).
3606
+ * Accepte une couleur CSS (ex: '#22c55e', 'var(--color-success)').
3607
+ * @default undefined (utilise --color-primary comme fallback)
3608
+ */
3609
+ expandedBorderColor: _angular_core.InputSignal<string | undefined>;
3546
3610
  /**
3547
3611
  * Événement émis lors du changement d'état d'un item.
3548
3612
  */
3549
3613
  itemChange: _angular_core.OutputEmitterRef<AccordionChangeEvent>;
3614
+ /**
3615
+ * Items enfants en mode template-driven.
3616
+ * @internal
3617
+ */
3618
+ readonly accordionItems: _angular_core.Signal<readonly DsAccordionItem[]>;
3619
+ /**
3620
+ * Mode de fonctionnement (auto-détecté).
3621
+ * - 'data' : si [items] est fourni et non vide
3622
+ * - 'template' : si des <ds-accordion-item> enfants sont présents
3623
+ */
3624
+ readonly mode: _angular_core.Signal<"data" | "template">;
3550
3625
  /**
3551
3626
  * État interne des items ouverts.
3552
3627
  */
3553
3628
  private readonly _expandedIds;
3554
3629
  /**
3555
- * Initialiser les items ouverts à partir de l'input.
3630
+ * Initialiser les items ouverts à partir de l'input expandedIds.
3631
+ * L'effet synchronise expandedIds vers l'état interne.
3556
3632
  */
3557
3633
  constructor();
3558
3634
  /**
3559
3635
  * IDs des items actuellement ouverts.
3636
+ * Utilise uniquement l'état interne (géré par l'effet d'initialisation).
3560
3637
  */
3561
3638
  readonly currentExpandedIds: _angular_core.Signal<Set<string>>;
3562
3639
  /**
@@ -3599,8 +3676,28 @@ declare class DsAccordion {
3599
3676
  * ID unique pour le contenu.
3600
3677
  */
3601
3678
  getContentId(item: AccordionItem): string;
3679
+ /**
3680
+ * Initialiser les index des items enfants.
3681
+ */
3682
+ ngAfterContentInit(): void;
3683
+ /**
3684
+ * Mettre à jour les index des items template.
3685
+ */
3686
+ private updateTemplateItemsIndex;
3687
+ /**
3688
+ * Toggle un item en mode template-driven.
3689
+ */
3690
+ toggleTemplateItem(item: DsAccordionItem): void;
3691
+ /**
3692
+ * Gestion du clavier en mode template-driven.
3693
+ */
3694
+ onTemplateKeydown(event: KeyboardEvent, item: DsAccordionItem, index: number): void;
3695
+ /**
3696
+ * Classes CSS pour un item template-driven.
3697
+ */
3698
+ getTemplateItemClasses(item: DsAccordionItem): string[];
3602
3699
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DsAccordion, never>;
3603
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsAccordion, "ds-accordion", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "expandedIds": { "alias": "expandedIds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; }, never, never, true, never>;
3700
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DsAccordion, "ds-accordion", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "expandedIds": { "alias": "expandedIds"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "expandedBorderColor": { "alias": "expandedBorderColor"; "required": false; "isSignal": true; }; }, { "itemChange": "itemChange"; }, ["accordionItems"], never, true, never>;
3604
3701
  }
3605
3702
 
3606
3703
  /**
@@ -8220,5 +8317,5 @@ declare function generateId(): string;
8220
8317
  */
8221
8318
  declare function generateShortId(prefix?: string): string;
8222
8319
 
8223
- export { AUTOCOMPLETE_POSITIONS, DROPDOWN_POSITIONS, DROPDOWN_POSITIONS_RIGHT, DROPDOWN_POSITIONS_TOP, DsAccordion, DsAlert, DsAvatar, DsBadge, DsBreadcrumb, DsButton, DsCalendar, DsCard, DsCarousel, DsCheckbox, DsCheckboxList, DsChip, DsColorPicker, DsCombobox, DsContainer, DsDatePicker, DsDivider, DsDrawer, DsDropdown, DsEmpty, DsEntityChip, DsEntityPicker, DsFileUpload, DsI18nService, DsInputField, DsInputNumber, DsInputTextarea, DsList, DsListGroup, DsListItem, DsMenu, DsModalComponent, DsNavList, DsNotificationContainerComponent, DsNotificationItemComponent, DsNotificationService, DsPagination, DsPasswordStrength, DsPopover, DsPopoverComponent, DsProgressBar, DsRadioGroup, DsRating, DsSearchInput, DsSegmentedControl, DsSelect, DsSidebar, DsSidebarFooterItemComponent, DsSidebarItemComponent, DsSkeleton, DsSlider, DsStepper, DsTable, DsTabs, DsTimePicker, DsTimeline, DsToastComponent, DsToastContainerComponent, DsToastService, DsToggle, DsTooltip, DsTooltipComponent, DsTransfer, DsTree, IconRegistryService, POPOVER_POSITIONS, PrimitiveBadge, PrimitiveButton, PrimitiveCheckbox, PrimitiveInput, PrimitiveRadio, PrimitiveTextarea, PrimitiveToggle, SIDEBAR_POPOVER_POSITIONS_LEFT, SIDEBAR_POPOVER_POSITIONS_RIGHT, TOOLTIP_POSITIONS, generateId, generateShortId };
8320
+ export { AUTOCOMPLETE_POSITIONS, DROPDOWN_POSITIONS, DROPDOWN_POSITIONS_RIGHT, DROPDOWN_POSITIONS_TOP, DsAccordion, DsAccordionItem, DsAlert, DsAvatar, DsBadge, DsBreadcrumb, DsButton, DsCalendar, DsCard, DsCarousel, DsCheckbox, DsCheckboxList, DsChip, DsColorPicker, DsCombobox, DsContainer, DsDatePicker, DsDivider, DsDrawer, DsDropdown, DsEmpty, DsEntityChip, DsEntityPicker, DsFileUpload, DsI18nService, DsInputField, DsInputNumber, DsInputTextarea, DsList, DsListGroup, DsListItem, DsMenu, DsModalComponent, DsNavList, DsNotificationContainerComponent, DsNotificationItemComponent, DsNotificationService, DsPagination, DsPasswordStrength, DsPopover, DsPopoverComponent, DsProgressBar, DsRadioGroup, DsRating, DsSearchInput, DsSegmentedControl, DsSelect, DsSidebar, DsSidebarFooterItemComponent, DsSidebarItemComponent, DsSkeleton, DsSlider, DsStepper, DsTable, DsTabs, DsTimePicker, DsTimeline, DsToastComponent, DsToastContainerComponent, DsToastService, DsToggle, DsTooltip, DsTooltipComponent, DsTransfer, DsTree, IconRegistryService, POPOVER_POSITIONS, PrimitiveBadge, PrimitiveButton, PrimitiveCheckbox, PrimitiveInput, PrimitiveRadio, PrimitiveTextarea, PrimitiveToggle, SIDEBAR_POPOVER_POSITIONS_LEFT, SIDEBAR_POPOVER_POSITIONS_RIGHT, TOOLTIP_POSITIONS, generateId, generateShortId };
8224
8321
  export type { AccordionChangeEvent, AccordionItem, AccordionSize, AccordionVariant, AlertSize, AlertType, AvatarShape, AvatarSize, BadgeAppearance, BadgeShape, BadgeSize, BadgeType, BadgeVariant, BreadcrumbItem, ButtonAppearance, ButtonSize, ButtonType, ButtonVariant, CalendarEvent, CalendarMode, CalendarSize, CardSize, CardVariant, CarouselDotsPosition, CarouselEffect, CarouselSlide, CheckboxListChangeEvent, CheckboxListItem, CheckboxListItemChangeEvent, CheckboxListSize, CheckboxSize, CheckboxState, ChipColor, ChipSize, ChipVariant, ColorFormat, ColorPickerSize, ContainerGutter, ContainerMaxWidth, DatePickerMode, DatePickerSize, DateRange, DividerLabelPosition, DividerOrientation, DividerSize, DividerVariant, DrawerPosition, DrawerSize, DropdownItem, DropdownItemDTO, DropdownPosition, DsComboboxOption, DsComboboxSize, DsEntityOption, DsEntityPickerDisplayMode, DsEntityPickerSize, DsSelectOption, DsSelectSize, DsTableColumn, DsTableSize, DsTableVariant, EmptySize, FileUploadSize, FlattenedSidebarItem, HSLColor, I18nLabels, InputAppearance, InputNumberControlsPosition, InputNumberSize, InputSize, InputState, InputType, ListDragEvent, ListEmptyConfig, ListGroupToggleEvent, ListGroupVariant, ListItemCheckEvent, ListItemClickEvent, ListItemIndicator, ListItemIndicatorColor, ListItemSize, ListSelectionChangeEvent, ListSize, ListVariant, MenuItem, MenuSize, MenuTrigger, NavListBadgeVariant, NavListGroup, NavListGroupToggleEvent, NavListItem, NavListItemClickEvent, NavListSize, NotificationAction, NotificationConfig, NotificationItem, NotificationPlacement, PageChangeEvent, PageSizeOption, PaginationSize, PasswordCriterion, PasswordStrength, PasswordStrengthSize, PopoverTrigger, ProgressBarMode, ProgressBarSize, ProgressBarVariant, RGBColor, RadioGroupLayout, RadioOption, RadioSize, RatingSize, SearchInputSize, SegmentOption, SegmentedControlColor, SegmentedControlOrientation, SegmentedControlSize, SidebarBadgeVariant, SidebarCollapsedTrigger, SidebarItem, SidebarItemClickEvent, SidebarItemExpandEvent, SidebarMode, SidebarPosition, SidebarSize, SkeletonSize, SkeletonVariant, SliderOrientation, SliderSize, SliderValue, SortDirection, SortEvent, Step, StepChangeEvent, StepState, StepperOrientation, StepperSize, SupportedLocale, TabItem, TableState, TextareaAppearance, TextareaResize, TextareaSize, TextareaState, TimeFormat, TimePickerSize, TimeValue, TimelineColor, TimelineItem, TimelineItemClickEvent, TimelineMode, TimelineSize, ToastInstance, ToastOptions, ToastPosition, ToastType, ToggleSize, TransferChangeEvent, TransferDirection, TransferItem, TransferSize, TreeNode, TreeNodeCheckEvent, TreeNodeExpandEvent, TreeNodeSelectEvent, TreeSize, UploadFile };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kksdev/ds-angular",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
4
4
  "description": "Angular 20 standalone component library - Design System with 55 components, 7 primitives, 3 themes, i18n support",
5
5
  "keywords": [
6
6
  "angular",