@kksdev/ds-angular 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
  /**
@@ -3547,6 +3605,17 @@ declare class DsAccordion {
3547
3605
  * Événement émis lors du changement d'état d'un item.
3548
3606
  */
3549
3607
  itemChange: _angular_core.OutputEmitterRef<AccordionChangeEvent>;
3608
+ /**
3609
+ * Items enfants en mode template-driven.
3610
+ * @internal
3611
+ */
3612
+ readonly accordionItems: _angular_core.Signal<readonly DsAccordionItem[]>;
3613
+ /**
3614
+ * Mode de fonctionnement (auto-détecté).
3615
+ * - 'data' : si [items] est fourni et non vide
3616
+ * - 'template' : si des <ds-accordion-item> enfants sont présents
3617
+ */
3618
+ readonly mode: _angular_core.Signal<"data" | "template">;
3550
3619
  /**
3551
3620
  * État interne des items ouverts.
3552
3621
  */
@@ -3599,8 +3668,28 @@ declare class DsAccordion {
3599
3668
  * ID unique pour le contenu.
3600
3669
  */
3601
3670
  getContentId(item: AccordionItem): string;
3671
+ /**
3672
+ * Initialiser les index des items enfants.
3673
+ */
3674
+ ngAfterContentInit(): void;
3675
+ /**
3676
+ * Mettre à jour les index des items template.
3677
+ */
3678
+ private updateTemplateItemsIndex;
3679
+ /**
3680
+ * Toggle un item en mode template-driven.
3681
+ */
3682
+ toggleTemplateItem(item: DsAccordionItem): void;
3683
+ /**
3684
+ * Gestion du clavier en mode template-driven.
3685
+ */
3686
+ onTemplateKeydown(event: KeyboardEvent, item: DsAccordionItem, index: number): void;
3687
+ /**
3688
+ * Classes CSS pour un item template-driven.
3689
+ */
3690
+ getTemplateItemClasses(item: DsAccordionItem): string[];
3602
3691
  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>;
3692
+ 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; }; }, { "itemChange": "itemChange"; }, ["accordionItems"], never, true, never>;
3604
3693
  }
3605
3694
 
3606
3695
  /**
@@ -8220,5 +8309,5 @@ declare function generateId(): string;
8220
8309
  */
8221
8310
  declare function generateShortId(prefix?: string): string;
8222
8311
 
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 };
8312
+ 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
8313
  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.1",
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",