@logosphere-ui/core 0.0.0-alpha.43 → 0.0.0-alpha.45

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 (163) hide show
  1. package/AGENTS.md +147 -66
  2. package/dist/AGENTS.md +147 -66
  3. package/dist/accordion-CYuCj7nB.cjs +21 -0
  4. package/dist/accordion-cDabqwu6.js +96 -0
  5. package/dist/accordion.cjs +1 -0
  6. package/dist/accordion.js +4 -0
  7. package/dist/atoms/Checkbox/checkbox.d.ts +11 -2
  8. package/dist/atoms/FormField/formfield.d.ts +2 -0
  9. package/dist/{badge-DsDxWEHx.js → badge-BhINg1p5.js} +20 -20
  10. package/dist/{badge-DvaKpUHe.cjs → badge-CKSG_MyA.cjs} +1 -1
  11. package/dist/badge.cjs +1 -1
  12. package/dist/badge.js +1 -1
  13. package/dist/breadcrumb-BOuCLUJh.cjs +12 -0
  14. package/dist/breadcrumb-BeJqq-5C.js +41 -0
  15. package/dist/breadcrumb.cjs +1 -1
  16. package/dist/breadcrumb.js +1 -1
  17. package/dist/button-CVkIa7M0.js +58 -0
  18. package/dist/button-vdNReBMi.cjs +10 -0
  19. package/dist/button.cjs +1 -1
  20. package/dist/button.js +1 -1
  21. package/dist/{calendar-CZ_IN2TF.js → calendar-C71sj3Ki.js} +1 -1
  22. package/dist/{calendar-CIgyrv3U.cjs → calendar-DZJM5Tyu.cjs} +1 -1
  23. package/dist/calendar.cjs +1 -1
  24. package/dist/calendar.js +1 -1
  25. package/dist/{card-MDwFGplY.js → card-C7xXMV3h.js} +3 -3
  26. package/dist/card-DmQRNKtk.cjs +43 -0
  27. package/dist/card.cjs +1 -1
  28. package/dist/card.js +1 -1
  29. package/dist/chatbot-BAou4THb.cjs +183 -0
  30. package/dist/{chatbot-CHgiUY4h.js → chatbot-BRfqXYYt.js} +13 -13
  31. package/dist/chatbot.cjs +1 -1
  32. package/dist/chatbot.js +1 -1
  33. package/dist/checkbox-BAbPDN6x.cjs +53 -0
  34. package/dist/checkbox-CTfbav6M.js +152 -0
  35. package/dist/checkbox.cjs +1 -1
  36. package/dist/checkbox.js +1 -1
  37. package/dist/{chip-group-CpcjGoRm.cjs → chip-group-D4DwnC37.cjs} +1 -1
  38. package/dist/{chip-group-BUL2H8rr.js → chip-group-DzfOd6Vw.js} +1 -1
  39. package/dist/chip-group.cjs +1 -1
  40. package/dist/chip-group.js +1 -1
  41. package/dist/collapse-CbRE8ABx.cjs +47 -0
  42. package/dist/collapse-DY6SJ9jS.js +141 -0
  43. package/dist/collapse.cjs +1 -0
  44. package/dist/collapse.js +4 -0
  45. package/dist/combobox-BAa3UAQs.cjs +113 -0
  46. package/dist/{combobox-jak7Ac1m.js → combobox-BR05Tgfd.js} +31 -8
  47. package/dist/combobox.cjs +1 -1
  48. package/dist/combobox.js +1 -1
  49. package/dist/{datepicker-BgysIOZI.js → datepicker-BFYWQRrJ.js} +58 -51
  50. package/dist/datepicker-BWE4qDJM.cjs +85 -0
  51. package/dist/datepicker.cjs +1 -1
  52. package/dist/datepicker.js +1 -1
  53. package/dist/{drawer-3nyjAkcS.cjs → drawer-CRu4G2zu.cjs} +2 -2
  54. package/dist/{drawer-CE9zzllI.js → drawer-DhuBPWHP.js} +3 -3
  55. package/dist/drawer.cjs +1 -1
  56. package/dist/drawer.js +1 -1
  57. package/dist/formfield-JXiv9mvJ.cjs +33 -0
  58. package/dist/{formfield-O327HYt0.js → formfield-ss2mFweu.js} +59 -52
  59. package/dist/formfield.cjs +1 -1
  60. package/dist/formfield.js +1 -1
  61. package/dist/icon.cjs +1 -0
  62. package/dist/icon.js +4 -0
  63. package/dist/index.cjs +1 -291
  64. package/dist/index.d.ts +1 -0
  65. package/dist/index.js +65 -908
  66. package/dist/index.umd.js +284 -215
  67. package/dist/input-DyLKo7h6.cjs +60 -0
  68. package/dist/input-N3Z8D7q1.js +278 -0
  69. package/dist/input-group-C6sA1lzj.cjs +5 -0
  70. package/dist/input-group-DUPlrpug.js +66 -0
  71. package/dist/input-group.cjs +1 -0
  72. package/dist/input-group.js +4 -0
  73. package/dist/input.cjs +1 -1
  74. package/dist/input.js +1 -1
  75. package/dist/left-menu.cjs +1 -1
  76. package/dist/left-menu.js +3 -3
  77. package/dist/leftmenu-BcUNnvly.cjs +120 -0
  78. package/dist/leftmenu-Cg57EaSY.js +361 -0
  79. package/dist/modal-g3KbWncV.cjs +84 -0
  80. package/dist/{modal-DUIv_yoo.js → modal-vSjEpYrG.js} +4 -4
  81. package/dist/modal.cjs +1 -1
  82. package/dist/modal.js +1 -1
  83. package/dist/molecules/Input/input.d.ts +17 -0
  84. package/dist/molecules/Popover/popover.d.ts +4 -0
  85. package/dist/organisms/Combobox/combobox.d.ts +9 -0
  86. package/dist/organisms/DatePicker/datepicker.d.ts +2 -0
  87. package/dist/organisms/LeftMenu/index.d.ts +1 -1
  88. package/dist/organisms/LeftMenu/leftmenu-types.d.ts +24 -0
  89. package/dist/organisms/LeftMenu/leftmenu.d.ts +24 -9
  90. package/dist/organisms/TreeMenu/tree-menu.d.ts +20 -2
  91. package/dist/{pagination-B7jknoOz.js → pagination-CjXvpE2j.js} +61 -61
  92. package/dist/pagination-Nnzacqdo.cjs +169 -0
  93. package/dist/pagination.cjs +1 -1
  94. package/dist/pagination.js +1 -1
  95. package/dist/popover-CrXUbUR-.cjs +30 -0
  96. package/dist/popover-M5ZcS5rj.js +161 -0
  97. package/dist/popover.cjs +1 -1
  98. package/dist/popover.js +1 -1
  99. package/dist/shared/icons/index.d.ts +1 -0
  100. package/dist/slider-DSRs5uhl.cjs +108 -0
  101. package/dist/slider-ntLRajQa.js +280 -0
  102. package/dist/slider.cjs +1 -0
  103. package/dist/slider.js +4 -0
  104. package/dist/split-button-BdBweoip.js +177 -0
  105. package/dist/split-button-BpffPlVg.cjs +63 -0
  106. package/dist/split-button.cjs +1 -0
  107. package/dist/split-button.js +4 -0
  108. package/dist/stepper-CZhwgLNp.js +122 -0
  109. package/dist/stepper-ZOMaU6aZ.cjs +52 -0
  110. package/dist/stepper.cjs +1 -0
  111. package/dist/stepper.js +4 -0
  112. package/dist/{switch-8RGGesy5.cjs → switch-Do6SCkPJ.cjs} +2 -2
  113. package/dist/{switch-DNqPqH-R.js → switch-uYVuohJ-.js} +25 -21
  114. package/dist/switch.cjs +1 -1
  115. package/dist/switch.js +1 -1
  116. package/dist/tab-BvRVHpWs.cjs +41 -0
  117. package/dist/{tab-CuBCFGoO.js → tab-Byh4UgFB.js} +1 -1
  118. package/dist/tab.cjs +1 -1
  119. package/dist/tab.js +1 -1
  120. package/dist/{text-area-C73JxnqH.js → text-area-1rALZ0iy.js} +16 -12
  121. package/dist/text-area-D_TYL4_q.cjs +51 -0
  122. package/dist/textarea.cjs +1 -1
  123. package/dist/textarea.js +1 -1
  124. package/dist/{timepicker-DMzGYd0p.js → timepicker-B9l6HN-d.js} +6 -2
  125. package/dist/{timepicker-CLJKWWGm.cjs → timepicker-Bpf2d4Nn.cjs} +1 -1
  126. package/dist/timepicker.cjs +1 -1
  127. package/dist/timepicker.js +1 -1
  128. package/dist/{toast-container-B5v74b_5.js → toast-container-C5qYjInG.js} +4 -4
  129. package/dist/toast-container-D2dyP20J.cjs +64 -0
  130. package/dist/toast.cjs +1 -1
  131. package/dist/toast.js +1 -1
  132. package/dist/tree-menu-BZ7aBC7R.js +237 -0
  133. package/dist/tree-menu-DDQ_DYl7.cjs +78 -0
  134. package/dist/tree-menu.cjs +1 -1
  135. package/dist/tree-menu.js +1 -1
  136. package/dist/{ui-icon-BMJNdIOq.js → ui-icon-BeR-PaPg.js} +11 -7
  137. package/dist/{ui-icon-DIucAQC_.cjs → ui-icon-DWl7I5BQ.cjs} +2 -2
  138. package/package.json +6 -1
  139. package/dist/breadcrumb-BB61Xt0s.js +0 -41
  140. package/dist/breadcrumb-Cop-B1J7.cjs +0 -12
  141. package/dist/button-DRZ4sG4T.cjs +0 -10
  142. package/dist/button-Uu9oaieg.js +0 -58
  143. package/dist/card-BOCW7gad.cjs +0 -43
  144. package/dist/chatbot-B-NiZIYK.cjs +0 -183
  145. package/dist/checkbox-CX0LgsWP.js +0 -148
  146. package/dist/checkbox-DpbKHANK.cjs +0 -53
  147. package/dist/combobox-BmIFPk8X.cjs +0 -113
  148. package/dist/datepicker-DOBmbxlo.cjs +0 -85
  149. package/dist/formfield-CRcyUMvQ.cjs +0 -33
  150. package/dist/input-CQS0LzF-.cjs +0 -59
  151. package/dist/input-CeF3YJk-.js +0 -257
  152. package/dist/leftmenu-CmWvnA6L.js +0 -301
  153. package/dist/leftmenu-p9aR2QTy.cjs +0 -83
  154. package/dist/modal-dUnnHe8u.cjs +0 -84
  155. package/dist/organisms/LeftMenu/leftmenu-item.d.ts +0 -14
  156. package/dist/pagination-BkqbWBOn.cjs +0 -169
  157. package/dist/popover-CYDoeLKp.cjs +0 -30
  158. package/dist/popover-DDaG8MSj.js +0 -143
  159. package/dist/tab-CDMcFHvP.cjs +0 -41
  160. package/dist/text-area-Cprb-azV.cjs +0 -51
  161. package/dist/toast-container-6t6yEP9Y.cjs +0 -64
  162. package/dist/tree-menu-CkOPxr-W.js +0 -154
  163. package/dist/tree-menu-WNwZMreD.cjs +0 -47
@@ -1,37 +1,52 @@
1
1
  import { LitElement } from "lit";
2
2
  import "../../atoms/Button/button";
3
3
  import "../../molecules/Input/input";
4
+ import "../../molecules/Popover/popover";
4
5
  import "../../shared/icons/ui-icon";
5
6
  import "../TreeMenu/tree-menu";
6
- import "./leftmenu-item";
7
+ import { type LeftMenuEntry } from "./leftmenu-types";
8
+ export type { LeftMenuEntry, LeftMenuGroup, LeftMenuItem, MenuBadge } from "./leftmenu-types";
7
9
  export declare class LeftMenu extends LitElement {
8
10
  static styles: import("lit").CSSResult[];
9
11
  open: boolean;
10
- pinned: boolean;
11
- closedWidth: number;
12
12
  openWidth: number;
13
13
  storageKey: string;
14
- private _nodes;
14
+ items: LeftMenuEntry[];
15
+ defaultExpandedIds: string[];
16
+ leading: boolean;
15
17
  private _expandedIds;
16
18
  private _search;
17
19
  private _searchExpandedIds;
18
20
  private _hasCustomOpen;
19
21
  private _hasCustomClosed;
22
+ private _closedToggleHover;
23
+ private _currentOpenWidth;
24
+ private _resizing;
20
25
  private _isHydratingState;
26
+ private _resizeStartX;
27
+ private _resizeStartWidth;
21
28
  connectedCallback(): void;
29
+ disconnectedCallback(): void;
22
30
  protected updated(changed: Map<string, unknown>): void;
23
31
  private _loadPersistedState;
24
32
  private _persistState;
25
- private _onSlotChange;
33
+ private _syncIconSlots;
26
34
  private _onCustomOpenSlotChange;
27
35
  private _onCustomClosedSlotChange;
28
- private _mapItemElement;
36
+ private _allItems;
37
+ private _renderGroups;
29
38
  private _setSearch;
30
39
  private _handleSearchInput;
31
- private _filterNodes;
40
+ private _filterItems;
32
41
  private _toggleOpen;
33
- private _togglePin;
34
- private _toTreeItems;
42
+ private _clampOpenWidth;
43
+ private _handleClosedToggleMouseEnter;
44
+ private _handleClosedToggleMouseLeave;
45
+ private _handleResizePointerDown;
46
+ private _handleResizePointerMove;
47
+ private _handleResizePointerUp;
48
+ private _removeResizeListeners;
49
+ private _collapseAll;
35
50
  private _effectiveExpandedIds;
36
51
  private _handleTreeToggle;
37
52
  private _handleTreeNodeClick;
@@ -1,12 +1,16 @@
1
1
  import { LitElement, type TemplateResult } from "lit";
2
+ import "../../atoms/Badge/badge";
3
+ import "../../molecules/Popover/popover";
2
4
  import "../../shared/icons/ui-icon";
5
+ import type { MenuBadge } from "../LeftMenu/leftmenu-types";
6
+ export type { MenuBadge as TreeMenuBadge };
3
7
  export interface TreeMenuItem {
4
8
  id: string;
5
9
  label: string;
6
10
  disabled?: boolean;
7
11
  active?: boolean;
8
12
  iconName?: string;
9
- iconHtml?: string | null;
13
+ badges?: MenuBadge[];
10
14
  children?: TreeMenuItem[];
11
15
  onClick?: (item: TreeMenuItem) => void;
12
16
  data?: unknown;
@@ -18,9 +22,20 @@ export declare class TreeMenu extends LitElement {
18
22
  expandOnLabelClick: boolean;
19
23
  chevronPosition: "left" | "right";
20
24
  showLabels: boolean;
25
+ leading: boolean;
21
26
  iconSize: number;
22
27
  private _expandedSet;
28
+ private _overflowedLabelIds;
29
+ private _resizeObserver?;
30
+ private _overflowMeasureFrame;
31
+ connectedCallback(): void;
32
+ disconnectedCallback(): void;
23
33
  protected willUpdate(changed: Map<string, unknown>): void;
34
+ protected updated(changed: Map<string, unknown>): void;
35
+ private _scheduleOverflowedLabelSync;
36
+ private _syncOverflowedLabels;
37
+ private _setsEqual;
38
+ private _hasActiveDescendant;
24
39
  private _isExpanded;
25
40
  private _emitToggle;
26
41
  private _emitItemClick;
@@ -29,7 +44,10 @@ export declare class TreeMenu extends LitElement {
29
44
  private _toggle;
30
45
  private _handleItemClick;
31
46
  private _handleRowKeydown;
32
- private _renderIcon;
47
+ private _renderRootIcon;
48
+ private _renderLeading;
49
+ private _renderBadges;
50
+ private _renderLabel;
33
51
  private _renderChevron;
34
52
  private _renderNode;
35
53
  render(): TemplateResult<1>;
@@ -1,15 +1,15 @@
1
- import { LitElement as h, unsafeCSS as b, css as v, html as i, nothing as p } from "lit";
1
+ import { LitElement as h, unsafeCSS as b, css as v, html as i, nothing as l } from "lit";
2
2
  import { property as o, state as f, query as _ } from "lit/decorators.js";
3
3
  import { live as y } from "lit/directives/live.js";
4
- import "./ui-icon-BMJNdIOq.js";
5
- import "./combobox-jak7Ac1m.js";
6
- const x = ":host{display:block;width:100%}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4) var(--spacing-6);background-color:var(--color-body-bg);border-top:1px solid var(--color-border);font-family:var(--font-family-base);gap:var(--spacing-4)}.pagination--justify-end{justify-content:flex-end}.pagination--justify-start{justify-content:flex-start}.pagination--justify-center{justify-content:center}.pagination__nav{display:flex;align-items:center;gap:var(--spacing-1)}.pagination__nav-group{display:flex;align-items:center}.pagination__btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;background:transparent;border-radius:var(--radius-base);cursor:pointer;color:var(--color-secondary);transition:background-color .15s ease,color .15s ease,opacity .15s ease}.pagination__btn:hover:not(:disabled){background-color:var(--color-body-bg-hover)}.pagination__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:var(--spacing-2);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);cursor:pointer;color:var(--color-secondary);transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.pagination__btn--icon:hover:not(:disabled){background-color:var(--color-body-bg-hover);border-color:var(--color-border-hover)}.pagination__btn--icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn--icon:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--text{display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:32px;min-width:100px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-secondary);cursor:pointer;transition:all .15s ease}.pagination__btn--text:hover:not(:disabled){background-color:var(--color-body-bg-hover);border-color:var(--color-border-hover)}.pagination__btn--text:disabled{color:var(--color-secondary-disabled);cursor:not-allowed}.pagination__btn--number{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--color-body-bg);border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-secondary);cursor:pointer;transition:all .15s ease}.pagination__btn--number:hover:not(:disabled):not(.pagination__btn--active){background-color:var(--color-body-bg-hover)}.pagination__btn--active{background-color:var(--color-secondary);border-color:var(--color-secondary);color:#fff;font-weight:var(--font-weight-semibold)}.pagination__btn--ellipsis{border:none;background:transparent;cursor:default;min-width:32px}.pagination__btn--ellipsis:hover{background:transparent}.pagination__input-container{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.pagination__input{width:100%;height:100%;min-width:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--color-body-bg);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-body-text);text-align:center;outline:none;transition:border-color .15s ease}.pagination__input:focus{border-color:var(--color-primary)}.pagination__input::-webkit-outer-spin-button,.pagination__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination__input[type=number]{-moz-appearance:textfield}.pagination__separator{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-tertiary);line-height:18px;letter-spacing:-.12px;margin-right:var(--spacing-1)}.pagination__info{display:flex;align-items:center;gap:var(--spacing-2)}.pagination__page-info{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__page-info-text{color:var(--color-secondary)}.pagination__page-info-separator{color:var(--color-tertiary)}.pagination__total{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__total-separator{color:var(--color-tertiary)}.pagination__total-text{color:var(--color-secondary)}.pagination__page-size{display:flex;align-items:center}@media(max-width:768px){.pagination{flex-wrap:wrap;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.pagination__btn--text{min-width:80px;font-size:var(--font-size-xs)}}@media(max-width:480px){.pagination__nav,.pagination__info{flex-wrap:wrap;justify-content:center}}";
7
- var m = Object.defineProperty, n = (u, t, e, r) => {
8
- for (var s = void 0, l = u.length - 1, g; l >= 0; l--)
9
- (g = u[l]) && (s = g(t, e, s) || s);
10
- return s && m(t, e, s), s;
4
+ import "./ui-icon-BeR-PaPg.js";
5
+ import "./combobox-BR05Tgfd.js";
6
+ const m = ":host{display:block;width:100%}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--pagination-padding, var(--spacing-4) var(--spacing-6));background-color:var(--pagination-bg, var(--color-body-bg));border-top:1px solid var(--color-border);font-family:var(--font-family-base);gap:var(--spacing-4)}.pagination--justify-end{justify-content:flex-end}.pagination--justify-start{justify-content:flex-start}.pagination--justify-center{justify-content:center}.pagination__nav{display:flex;align-items:center;gap:var(--spacing-1)}.pagination__nav-group{display:flex;align-items:center}.pagination__btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;background:transparent;border-radius:var(--radius-base);cursor:pointer;color:var(--pagination-color, var(--color-secondary));transition:background-color .15s ease,color .15s ease,opacity .15s ease}.pagination__btn:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover))}.pagination__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:var(--spacing-2);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);cursor:pointer;color:var(--pagination-color, var(--color-secondary));transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.pagination__btn--icon:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover));border-color:var(--color-border-hover)}.pagination__btn--icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn--icon:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--text{display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:32px;min-width:100px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--pagination-color, var(--color-secondary));cursor:pointer;transition:all .15s ease}.pagination__btn--text:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover));border-color:var(--color-border-hover)}.pagination__btn--text:disabled{color:var(--pagination-color-disabled, var(--color-secondary-disabled));cursor:not-allowed}.pagination__btn--number{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--pagination-color, var(--color-secondary));cursor:pointer;transition:all .15s ease}.pagination__btn--number:hover:not(:disabled):not(.pagination__btn--active){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover))}.pagination__btn--active{background-color:var(--pagination-active-bg, var(--color-secondary));border-color:var(--pagination-active-bg, var(--color-secondary));color:var(--pagination-active-color, white);font-weight:var(--font-weight-semibold)}.pagination__btn--ellipsis{border:none;background:transparent;cursor:default;min-width:32px}.pagination__btn--ellipsis:hover{background:transparent}.pagination__input-container{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.pagination__input{width:100%;height:100%;min-width:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--pagination-item-bg, var(--color-body-bg));font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-body-text);text-align:center;outline:none;transition:border-color .15s ease}.pagination__input:focus{border-color:var(--color-primary)}.pagination__input::-webkit-outer-spin-button,.pagination__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination__input[type=number]{-moz-appearance:textfield}.pagination__separator{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-tertiary);line-height:18px;letter-spacing:-.12px;margin-right:var(--spacing-1)}.pagination__info{display:flex;align-items:center;gap:var(--spacing-2)}.pagination__page-info{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__page-info-text{color:var(--pagination-color, var(--color-secondary))}.pagination__page-info-separator{color:var(--color-tertiary)}.pagination__total{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__total-separator{color:var(--color-tertiary)}.pagination__total-text{color:var(--pagination-color, var(--color-secondary))}.pagination__page-size{display:flex;align-items:center}@media(max-width:768px){.pagination{flex-wrap:wrap;gap:var(--spacing-3);padding:var(--pagination-padding, var(--spacing-3) var(--spacing-4))}.pagination__btn--text{min-width:80px;font-size:var(--font-size-xs)}}@media(max-width:480px){.pagination__nav,.pagination__info{flex-wrap:wrap;justify-content:center}}";
7
+ var x = Object.defineProperty, n = (u, t, a, r) => {
8
+ for (var s = void 0, p = u.length - 1, g; p >= 0; p--)
9
+ (g = u[p]) && (s = g(t, a, s) || s);
10
+ return s && x(t, a, s), s;
11
11
  };
12
- const c = class c extends h {
12
+ const d = class d extends h {
13
13
  constructor() {
14
14
  super(...arguments), this.variant = "default", this.page = 1, this.pageSize = 25, this.total = 0, this.pageSizeOptions = [10, 25, 50, 100], this.showPageSize = !0, this.showTotal = !0, this.disabled = !1, this.prevLabel = "Önceki", this.nextLabel = "Sonraki", this.pageLabel = "Sayfa", this.perPageLabel = "/ sayfa", this.totalLabel = "kayıt", this.inputValue = "1", this.goFirst = () => {
15
15
  this.canGoPrev && this.goToPage(1);
@@ -20,17 +20,17 @@ const c = class c extends h {
20
20
  }, this.goLast = () => {
21
21
  this.canGoNext && this.goToPage(this.totalPages);
22
22
  }, this.handleInputChange = (t) => {
23
- const e = t.target;
24
- this.inputValue = e.value;
23
+ const a = t.target;
24
+ this.inputValue = a.value;
25
25
  }, this.handleInputBlur = () => {
26
26
  const t = parseInt(this.inputValue, 10);
27
27
  isNaN(t) ? this.inputValue = String(this.page) : this.goToPage(t);
28
28
  }, this.handleInputKeydown = (t) => {
29
29
  t.key === "Enter" && t.target.blur();
30
30
  }, this.handlePageSizeChange = (t) => {
31
- const e = t.detail?.value?.[0];
32
- if (e) {
33
- const r = e.value;
31
+ const a = t.detail?.value?.[0];
32
+ if (a) {
33
+ const r = a.value;
34
34
  r !== this.pageSize && (this.pageSize = r, this.page = 1, this.emitPageChange());
35
35
  }
36
36
  };
@@ -65,8 +65,8 @@ const c = class c extends h {
65
65
  }));
66
66
  }
67
67
  goToPage(t) {
68
- const e = Math.max(1, Math.min(t, this.totalPages));
69
- e !== this.page && (this.page = e, this.emitPageChange());
68
+ const a = Math.max(1, Math.min(t, this.totalPages));
69
+ a !== this.page && (this.page = a, this.emitPageChange());
70
70
  }
71
71
  get pageSizeItems() {
72
72
  return this.pageSizeOptions.map((t) => ({
@@ -78,25 +78,25 @@ const c = class c extends h {
78
78
  return [{ label: `${this.pageSize} ${this.perPageLabel}`, value: this.pageSize }];
79
79
  }
80
80
  getPageNumbers() {
81
- const t = [], e = this.totalPages, r = this.page, s = 1;
82
- if (e <= 7)
83
- for (let l = 1; l <= e; l++) t.push(l);
81
+ const t = [], a = this.totalPages, r = this.page, s = 1;
82
+ if (a <= 7)
83
+ for (let p = 1; p <= a; p++) t.push(p);
84
84
  else {
85
85
  t.push(1), r > 3 && t.push("ellipsis");
86
- const l = Math.max(2, r - s), g = Math.min(e - 1, r + s);
87
- for (let d = l; d <= g; d++)
88
- t.includes(d) || t.push(d);
89
- r < e - 2 && t.push("ellipsis"), t.includes(e) || t.push(e);
86
+ const p = Math.max(2, r - s), g = Math.min(a - 1, r + s);
87
+ for (let c = p; c <= g; c++)
88
+ t.includes(c) || t.push(c);
89
+ r < a - 2 && t.push("ellipsis"), t.includes(a) || t.push(a);
90
90
  }
91
91
  return t;
92
92
  }
93
93
  renderNavButtons(t = !1) {
94
- const e = t ? "pagination__btn--icon" : "pagination__btn";
94
+ const a = t ? "pagination__btn--icon" : "pagination__btn";
95
95
  return i`
96
96
  <div class="pagination__nav-group">
97
97
  <button
98
98
  type="button"
99
- class="${e}"
99
+ class="${a}"
100
100
  ?disabled=${!this.canGoPrev}
101
101
  @click=${this.goFirst}
102
102
  aria-label="İlk sayfa"
@@ -105,7 +105,7 @@ const c = class c extends h {
105
105
  </button>
106
106
  <button
107
107
  type="button"
108
- class="${e}"
108
+ class="${a}"
109
109
  ?disabled=${!this.canGoPrev}
110
110
  @click=${this.goPrev}
111
111
  aria-label="Önceki sayfa"
@@ -116,12 +116,12 @@ const c = class c extends h {
116
116
  `;
117
117
  }
118
118
  renderNavButtonsAfter(t = !1) {
119
- const e = t ? "pagination__btn--icon" : "pagination__btn";
119
+ const a = t ? "pagination__btn--icon" : "pagination__btn";
120
120
  return i`
121
121
  <div class="pagination__nav-group">
122
122
  <button
123
123
  type="button"
124
- class="${e}"
124
+ class="${a}"
125
125
  ?disabled=${!this.canGoNext}
126
126
  @click=${this.goNext}
127
127
  aria-label="Sonraki sayfa"
@@ -130,7 +130,7 @@ const c = class c extends h {
130
130
  </button>
131
131
  <button
132
132
  type="button"
133
- class="${e}"
133
+ class="${a}"
134
134
  ?disabled=${!this.canGoNext}
135
135
  @click=${this.goLast}
136
136
  aria-label="Son sayfa"
@@ -194,7 +194,7 @@ const c = class c extends h {
194
194
  const t = this.getPageNumbers();
195
195
  return i`
196
196
  ${t.map(
197
- (e, r) => e === "ellipsis" ? i`
197
+ (a, r) => a === "ellipsis" ? i`
198
198
  <span
199
199
  class="pagination__btn--number pagination__btn--ellipsis"
200
200
  key="ellipsis-${r}"
@@ -202,13 +202,13 @@ const c = class c extends h {
202
202
  ` : i`
203
203
  <button
204
204
  type="button"
205
- class="pagination__btn--number ${e === this.page ? "pagination__btn--active" : ""}"
205
+ class="pagination__btn--number ${a === this.page ? "pagination__btn--active" : ""}"
206
206
  ?disabled=${this.disabled}
207
- @click=${() => this.goToPage(e)}
208
- aria-label="Sayfa ${e}"
209
- aria-current=${e === this.page ? "page" : p}
207
+ @click=${() => this.goToPage(a)}
208
+ aria-label="Sayfa ${a}"
209
+ aria-current=${a === this.page ? "page" : l}
210
210
  >
211
- ${e}
211
+ ${a}
212
212
  </button>
213
213
  `
214
214
  )}
@@ -227,7 +227,7 @@ const c = class c extends h {
227
227
  @change=${this.handlePageSizeChange}
228
228
  ></logosphere-combobox>
229
229
  </div>
230
- ` : p;
230
+ ` : l;
231
231
  }
232
232
  renderTotalInfo() {
233
233
  return this.showTotal ? i`
@@ -235,7 +235,7 @@ const c = class c extends h {
235
235
  <span class="pagination__total-separator">/</span>
236
236
  <span class="pagination__total-text">${this.total} ${this.totalLabel}</span>
237
237
  </div>
238
- ` : p;
238
+ ` : l;
239
239
  }
240
240
  renderDefault() {
241
241
  return i`
@@ -298,63 +298,63 @@ const c = class c extends h {
298
298
  role="navigation"
299
299
  aria-label="Sayfalama"
300
300
  >
301
- ${this.variant === "default" ? this.renderDefault() : p}
302
- ${this.variant === "prev-next" ? this.renderPrevNext() : p}
303
- ${this.variant === "prev-next-inverted" ? this.renderPrevNextInverted() : p}
304
- ${this.variant === "prev-next-only" ? this.renderPrevNextOnly() : p}
305
- ${this.variant === "number-buttons" ? this.renderNumberButtonsVariant() : p}
301
+ ${this.variant === "default" ? this.renderDefault() : l}
302
+ ${this.variant === "prev-next" ? this.renderPrevNext() : l}
303
+ ${this.variant === "prev-next-inverted" ? this.renderPrevNextInverted() : l}
304
+ ${this.variant === "prev-next-only" ? this.renderPrevNextOnly() : l}
305
+ ${this.variant === "number-buttons" ? this.renderNumberButtonsVariant() : l}
306
306
  </nav>
307
307
  `;
308
308
  }
309
309
  };
310
- c.styles = [v`${b(x)}`];
311
- let a = c;
310
+ d.styles = [v`${b(m)}`];
311
+ let e = d;
312
312
  n([
313
313
  o({ type: String })
314
- ], a.prototype, "variant");
314
+ ], e.prototype, "variant");
315
315
  n([
316
316
  o({ type: Number })
317
- ], a.prototype, "page");
317
+ ], e.prototype, "page");
318
318
  n([
319
319
  o({ type: Number })
320
- ], a.prototype, "pageSize");
320
+ ], e.prototype, "pageSize");
321
321
  n([
322
322
  o({ type: Number })
323
- ], a.prototype, "total");
323
+ ], e.prototype, "total");
324
324
  n([
325
325
  o({ type: Array })
326
- ], a.prototype, "pageSizeOptions");
326
+ ], e.prototype, "pageSizeOptions");
327
327
  n([
328
328
  o({ type: Boolean })
329
- ], a.prototype, "showPageSize");
329
+ ], e.prototype, "showPageSize");
330
330
  n([
331
331
  o({ type: Boolean })
332
- ], a.prototype, "showTotal");
332
+ ], e.prototype, "showTotal");
333
333
  n([
334
334
  o({ type: Boolean })
335
- ], a.prototype, "disabled");
335
+ ], e.prototype, "disabled");
336
336
  n([
337
337
  o({ type: String })
338
- ], a.prototype, "prevLabel");
338
+ ], e.prototype, "prevLabel");
339
339
  n([
340
340
  o({ type: String })
341
- ], a.prototype, "nextLabel");
341
+ ], e.prototype, "nextLabel");
342
342
  n([
343
343
  o({ type: String })
344
- ], a.prototype, "pageLabel");
344
+ ], e.prototype, "pageLabel");
345
345
  n([
346
346
  o({ type: String })
347
- ], a.prototype, "perPageLabel");
347
+ ], e.prototype, "perPageLabel");
348
348
  n([
349
349
  o({ type: String })
350
- ], a.prototype, "totalLabel");
350
+ ], e.prototype, "totalLabel");
351
351
  n([
352
352
  f()
353
- ], a.prototype, "inputValue");
353
+ ], e.prototype, "inputValue");
354
354
  n([
355
355
  _("logosphere-combobox")
356
- ], a.prototype, "_combobox");
357
- customElements.get("logosphere-pagination") || customElements.define("logosphere-pagination", a);
356
+ ], e.prototype, "_combobox");
357
+ customElements.get("logosphere-pagination") || customElements.define("logosphere-pagination", e);
358
358
  export {
359
- a as P
359
+ e as P
360
360
  };
@@ -0,0 +1,169 @@
1
+ "use strict";const e=require("lit"),n=require("lit/decorators.js"),h=require("lit/directives/live.js");require("./ui-icon-DWl7I5BQ.cjs");require("./combobox-BAa3UAQs.cjs");const u=":host{display:block;width:100%}.pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--pagination-padding, var(--spacing-4) var(--spacing-6));background-color:var(--pagination-bg, var(--color-body-bg));border-top:1px solid var(--color-border);font-family:var(--font-family-base);gap:var(--spacing-4)}.pagination--justify-end{justify-content:flex-end}.pagination--justify-start{justify-content:flex-start}.pagination--justify-center{justify-content:center}.pagination__nav{display:flex;align-items:center;gap:var(--spacing-1)}.pagination__nav-group{display:flex;align-items:center}.pagination__btn{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2);border:none;background:transparent;border-radius:var(--radius-base);cursor:pointer;color:var(--pagination-color, var(--color-secondary));transition:background-color .15s ease,color .15s ease,opacity .15s ease}.pagination__btn:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover))}.pagination__btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:var(--spacing-2);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);cursor:pointer;color:var(--pagination-color, var(--color-secondary));transition:background-color .15s ease,border-color .15s ease,opacity .15s ease}.pagination__btn--icon:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover));border-color:var(--color-border-hover)}.pagination__btn--icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__btn--icon:disabled{opacity:.4;cursor:not-allowed}.pagination__btn--text{display:flex;align-items:center;justify-content:center;gap:var(--spacing-1);height:32px;min-width:100px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--pagination-color, var(--color-secondary));cursor:pointer;transition:all .15s ease}.pagination__btn--text:hover:not(:disabled){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover));border-color:var(--color-border-hover)}.pagination__btn--text:disabled{color:var(--pagination-color-disabled, var(--color-secondary-disabled));cursor:not-allowed}.pagination__btn--number{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-border);background-color:var(--pagination-item-bg, var(--color-body-bg));border-radius:var(--radius-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--pagination-color, var(--color-secondary));cursor:pointer;transition:all .15s ease}.pagination__btn--number:hover:not(:disabled):not(.pagination__btn--active){background-color:var(--pagination-item-bg-hover, var(--color-body-bg-hover))}.pagination__btn--active{background-color:var(--pagination-active-bg, var(--color-secondary));border-color:var(--pagination-active-bg, var(--color-secondary));color:var(--pagination-active-color, white);font-weight:var(--font-weight-semibold)}.pagination__btn--ellipsis{border:none;background:transparent;cursor:default;min-width:32px}.pagination__btn--ellipsis:hover{background:transparent}.pagination__input-container{display:flex;align-items:center;justify-content:center;min-width:32px;height:32px}.pagination__input{width:100%;height:100%;min-width:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-base);background-color:var(--pagination-item-bg, var(--color-body-bg));font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-body-text);text-align:center;outline:none;transition:border-color .15s ease}.pagination__input:focus{border-color:var(--color-primary)}.pagination__input::-webkit-outer-spin-button,.pagination__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pagination__input[type=number]{-moz-appearance:textfield}.pagination__separator{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-tertiary);line-height:18px;letter-spacing:-.12px;margin-right:var(--spacing-1)}.pagination__info{display:flex;align-items:center;gap:var(--spacing-2)}.pagination__page-info{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__page-info-text{color:var(--pagination-color, var(--color-secondary))}.pagination__page-info-separator{color:var(--color-tertiary)}.pagination__total{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);line-height:18px;letter-spacing:-.12px}.pagination__total-separator{color:var(--color-tertiary)}.pagination__total-text{color:var(--pagination-color, var(--color-secondary))}.pagination__page-size{display:flex;align-items:center}@media(max-width:768px){.pagination{flex-wrap:wrap;gap:var(--spacing-3);padding:var(--pagination-padding, var(--spacing-3) var(--spacing-4))}.pagination__btn--text{min-width:80px;font-size:var(--font-size-xs)}}@media(max-width:480px){.pagination__nav,.pagination__info{flex-wrap:wrap;justify-content:center}}";var b=Object.defineProperty,o=(d,t,a,r)=>{for(var s=void 0,p=d.length-1,l;p>=0;p--)(l=d[p])&&(s=l(t,a,s)||s);return s&&b(t,a,s),s};const c=class c extends e.LitElement{constructor(){super(...arguments),this.variant="default",this.page=1,this.pageSize=25,this.total=0,this.pageSizeOptions=[10,25,50,100],this.showPageSize=!0,this.showTotal=!0,this.disabled=!1,this.prevLabel="Önceki",this.nextLabel="Sonraki",this.pageLabel="Sayfa",this.perPageLabel="/ sayfa",this.totalLabel="kayıt",this.inputValue="1",this.goFirst=()=>{this.canGoPrev&&this.goToPage(1)},this.goPrev=()=>{this.canGoPrev&&this.goToPage(this.page-1)},this.goNext=()=>{this.canGoNext&&this.goToPage(this.page+1)},this.goLast=()=>{this.canGoNext&&this.goToPage(this.totalPages)},this.handleInputChange=t=>{const a=t.target;this.inputValue=a.value},this.handleInputBlur=()=>{const t=parseInt(this.inputValue,10);isNaN(t)?this.inputValue=String(this.page):this.goToPage(t)},this.handleInputKeydown=t=>{t.key==="Enter"&&t.target.blur()},this.handlePageSizeChange=t=>{const a=t.detail?.value?.[0];if(a){const r=a.value;r!==this.pageSize&&(this.pageSize=r,this.page=1,this.emitPageChange())}}}get totalPages(){return Math.max(1,Math.ceil(this.total/this.pageSize))}get canGoPrev(){return this.page>1&&!this.disabled}get canGoNext(){return this.page<this.totalPages&&!this.disabled}firstUpdated(){this.updateComboboxSelection()}updated(t){super.updated(t),t.has("page")&&(this.inputValue=String(this.page)),t.has("pageSize")&&this.updateComboboxSelection()}updateComboboxSelection(){this._combobox&&this.showPageSize&&this._combobox.setSelected(this.selectedPageSizeItem)}emitPageChange(){this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page,pageSize:this.pageSize,totalPages:this.totalPages}}))}goToPage(t){const a=Math.max(1,Math.min(t,this.totalPages));a!==this.page&&(this.page=a,this.emitPageChange())}get pageSizeItems(){return this.pageSizeOptions.map(t=>({label:`${t} ${this.perPageLabel}`,value:t}))}get selectedPageSizeItem(){return[{label:`${this.pageSize} ${this.perPageLabel}`,value:this.pageSize}]}getPageNumbers(){const t=[],a=this.totalPages,r=this.page,s=1;if(a<=7)for(let p=1;p<=a;p++)t.push(p);else{t.push(1),r>3&&t.push("ellipsis");const p=Math.max(2,r-s),l=Math.min(a-1,r+s);for(let g=p;g<=l;g++)t.includes(g)||t.push(g);r<a-2&&t.push("ellipsis"),t.includes(a)||t.push(a)}return t}renderNavButtons(t=!1){const a=t?"pagination__btn--icon":"pagination__btn";return e.html`
2
+ <div class="pagination__nav-group">
3
+ <button
4
+ type="button"
5
+ class="${a}"
6
+ ?disabled=${!this.canGoPrev}
7
+ @click=${this.goFirst}
8
+ aria-label="İlk sayfa"
9
+ >
10
+ <ui-icon name="uil-angle-double-left" size="16"></ui-icon>
11
+ </button>
12
+ <button
13
+ type="button"
14
+ class="${a}"
15
+ ?disabled=${!this.canGoPrev}
16
+ @click=${this.goPrev}
17
+ aria-label="Önceki sayfa"
18
+ >
19
+ <ui-icon name="uil-angle-left" size="16"></ui-icon>
20
+ </button>
21
+ </div>
22
+ `}renderNavButtonsAfter(t=!1){const a=t?"pagination__btn--icon":"pagination__btn";return e.html`
23
+ <div class="pagination__nav-group">
24
+ <button
25
+ type="button"
26
+ class="${a}"
27
+ ?disabled=${!this.canGoNext}
28
+ @click=${this.goNext}
29
+ aria-label="Sonraki sayfa"
30
+ >
31
+ <ui-icon name="uil-angle-right" size="16"></ui-icon>
32
+ </button>
33
+ <button
34
+ type="button"
35
+ class="${a}"
36
+ ?disabled=${!this.canGoNext}
37
+ @click=${this.goLast}
38
+ aria-label="Son sayfa"
39
+ >
40
+ <ui-icon name="uil-angle-double-right" size="16"></ui-icon>
41
+ </button>
42
+ </div>
43
+ `}renderPageInput(){return e.html`
44
+ <div class="pagination__input-container">
45
+ <input
46
+ type="number"
47
+ class="pagination__input"
48
+ .value=${h.live(this.inputValue)}
49
+ min="1"
50
+ max=${this.totalPages}
51
+ ?disabled=${this.disabled}
52
+ @input=${this.handleInputChange}
53
+ @blur=${this.handleInputBlur}
54
+ @keydown=${this.handleInputKeydown}
55
+ aria-label="Sayfa numarası"
56
+ />
57
+ </div>
58
+ <span class="pagination__separator">/ ${this.totalPages}</span>
59
+ `}renderPrevNextButtons(){return e.html`
60
+ <button
61
+ type="button"
62
+ class="pagination__btn--text"
63
+ ?disabled=${!this.canGoPrev}
64
+ @click=${this.goPrev}
65
+ >
66
+ <ui-icon name="uil-angle-left" size="16"></ui-icon>
67
+ ${this.prevLabel}
68
+ </button>
69
+ <button
70
+ type="button"
71
+ class="pagination__btn--text"
72
+ ?disabled=${!this.canGoNext}
73
+ @click=${this.goNext}
74
+ >
75
+ ${this.nextLabel}
76
+ <ui-icon name="uil-angle-right" size="16"></ui-icon>
77
+ </button>
78
+ `}renderPageInfo(){return e.html`
79
+ <div class="pagination__page-info">
80
+ <span class="pagination__page-info-text">${this.pageLabel} ${this.page}</span>
81
+ <span class="pagination__page-info-separator">/</span>
82
+ <span class="pagination__page-info-text">${this.totalPages}</span>
83
+ </div>
84
+ `}renderNumberButtons(){const t=this.getPageNumbers();return e.html`
85
+ ${t.map((a,r)=>a==="ellipsis"?e.html`
86
+ <span
87
+ class="pagination__btn--number pagination__btn--ellipsis"
88
+ key="ellipsis-${r}"
89
+ >...</span>
90
+ `:e.html`
91
+ <button
92
+ type="button"
93
+ class="pagination__btn--number ${a===this.page?"pagination__btn--active":""}"
94
+ ?disabled=${this.disabled}
95
+ @click=${()=>this.goToPage(a)}
96
+ aria-label="Sayfa ${a}"
97
+ aria-current=${a===this.page?"page":e.nothing}
98
+ >
99
+ ${a}
100
+ </button>
101
+ `)}
102
+ `}renderPageSizeDropdown(){return this.showPageSize?e.html`
103
+ <div class="pagination__page-size">
104
+ <logosphere-combobox
105
+ .items=${this.pageSizeItems}
106
+ .disabled=${this.disabled}
107
+ .clearable=${!1}
108
+ optionLabel="label"
109
+ optionValue="value"
110
+ placeholder=""
111
+ @change=${this.handlePageSizeChange}
112
+ ></logosphere-combobox>
113
+ </div>
114
+ `:e.nothing}renderTotalInfo(){return this.showTotal?e.html`
115
+ <div class="pagination__total">
116
+ <span class="pagination__total-separator">/</span>
117
+ <span class="pagination__total-text">${this.total} ${this.totalLabel}</span>
118
+ </div>
119
+ `:e.nothing}renderDefault(){return e.html`
120
+ <div class="pagination__nav">
121
+ ${this.renderNavButtons()}
122
+ ${this.renderPageInput()}
123
+ ${this.renderNavButtonsAfter()}
124
+ </div>
125
+ <div class="pagination__info">
126
+ ${this.renderPageSizeDropdown()}
127
+ ${this.renderTotalInfo()}
128
+ </div>
129
+ `}renderPrevNext(){return e.html`
130
+ <div class="pagination__nav" style="gap: 8px;">
131
+ ${this.renderPrevNextButtons()}
132
+ </div>
133
+ <div class="pagination__info">
134
+ ${this.renderPageInfo()}
135
+ </div>
136
+ `}renderPrevNextInverted(){return e.html`
137
+ <div class="pagination__info">
138
+ ${this.renderPageInfo()}
139
+ </div>
140
+ <div class="pagination__nav" style="gap: 8px;">
141
+ ${this.renderPrevNextButtons()}
142
+ </div>
143
+ `}renderPrevNextOnly(){return e.html`
144
+ <div class="pagination__nav" style="gap: 8px; margin-left: auto;">
145
+ ${this.renderPrevNextButtons()}
146
+ </div>
147
+ `}renderNumberButtonsVariant(){return e.html`
148
+ <div class="pagination__nav">
149
+ ${this.renderNavButtons(!0)}
150
+ ${this.renderNumberButtons()}
151
+ ${this.renderNavButtonsAfter(!0)}
152
+ </div>
153
+ <div class="pagination__info">
154
+ ${this.renderPageSizeDropdown()}
155
+ ${this.renderTotalInfo()}
156
+ </div>
157
+ `}render(){const t=this.variant==="prev-next-only"?"pagination--justify-end":"";return e.html`
158
+ <nav
159
+ class="pagination ${t}"
160
+ role="navigation"
161
+ aria-label="Sayfalama"
162
+ >
163
+ ${this.variant==="default"?this.renderDefault():e.nothing}
164
+ ${this.variant==="prev-next"?this.renderPrevNext():e.nothing}
165
+ ${this.variant==="prev-next-inverted"?this.renderPrevNextInverted():e.nothing}
166
+ ${this.variant==="prev-next-only"?this.renderPrevNextOnly():e.nothing}
167
+ ${this.variant==="number-buttons"?this.renderNumberButtonsVariant():e.nothing}
168
+ </nav>
169
+ `}};c.styles=[e.css`${e.unsafeCSS(u)}`];let i=c;o([n.property({type:String})],i.prototype,"variant");o([n.property({type:Number})],i.prototype,"page");o([n.property({type:Number})],i.prototype,"pageSize");o([n.property({type:Number})],i.prototype,"total");o([n.property({type:Array})],i.prototype,"pageSizeOptions");o([n.property({type:Boolean})],i.prototype,"showPageSize");o([n.property({type:Boolean})],i.prototype,"showTotal");o([n.property({type:Boolean})],i.prototype,"disabled");o([n.property({type:String})],i.prototype,"prevLabel");o([n.property({type:String})],i.prototype,"nextLabel");o([n.property({type:String})],i.prototype,"pageLabel");o([n.property({type:String})],i.prototype,"perPageLabel");o([n.property({type:String})],i.prototype,"totalLabel");o([n.state()],i.prototype,"inputValue");o([n.query("logosphere-combobox")],i.prototype,"_combobox");customElements.get("logosphere-pagination")||customElements.define("logosphere-pagination",i);exports.Pagination=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./pagination-BkqbWBOn.cjs");exports.Pagination=i.Pagination;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./pagination-Nnzacqdo.cjs");exports.Pagination=i.Pagination;
@@ -1,4 +1,4 @@
1
- import { P as i } from "./pagination-B7jknoOz.js";
1
+ import { P as i } from "./pagination-CjXvpE2j.js";
2
2
  export {
3
3
  i as Pagination
4
4
  };
@@ -0,0 +1,30 @@
1
+ "use strict";const i=require("lit"),o=require("lit/decorators.js"),d=require("@popperjs/core"),h=':host{display:inline-block}.popover__wrapper{position:relative;display:var(--popover-wrapper-display, inline-block);width:var(--popover-wrapper-width, auto);min-width:var(--popover-wrapper-min-width, auto);max-width:var(--popover-wrapper-max-width, none);font-family:var(--font-family-base)}.popover__trigger{display:var(--popover-trigger-display, inline-flex);width:var(--popover-trigger-width, auto);min-width:var(--popover-trigger-min-width, auto);max-width:var(--popover-trigger-max-width, none)}.popover__panel{position:relative;overflow:visible;z-index:var(--z-index-popover);min-width:var(--popover-min-width, 240px);max-width:var(--popover-max-width, none);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-body-bg);box-shadow:var(--shadow-md)}.popover__content{position:relative;z-index:1;background-color:var(--color-body-bg);border-radius:var(--radius-md);overflow:hidden}.popover__content:before{content:"";position:absolute;top:0;left:0;right:0;height:8px;background-color:var(--color-body-bg);border-radius:var(--radius-md) var(--radius-md) 0 0;z-index:1;pointer-events:none}.popover__content>*{position:relative;z-index:2}.popover__title{padding:10px var(--spacing-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-body-text)}.popover__body{padding:var(--popover-body-padding, var(--spacing-3));font-size:var(--font-size-sm);color:var(--color-secondary)}.popover__body--with-border{border-top:1px solid var(--color-border)}.popper-arrow{position:absolute;width:12px;height:12px;pointer-events:none;z-index:0}.popper-arrow:before{content:"";position:absolute;inset:0;background:var(--color-border);transform:rotate(45deg)}.popper-arrow:after{content:"";position:absolute;inset:1px;background:var(--color-body-bg);transform:rotate(45deg)}[data-popper]{position:relative;overflow:visible}[data-popper-placement^=bottom]>.popper-arrow{top:-6px;left:50%;transform:translate(-50%,-50%)}[data-popper-placement^=top]>.popper-arrow{bottom:-6px;left:50%;transform:translate(-50%,50%)}[data-popper-placement^=left]>.popper-arrow{right:-6px;top:50%;transform:translate(50%,-50%)}[data-popper-placement^=right]>.popper-arrow{left:-6px;top:50%;transform:translate(-50%,-50%)}';var v=Object.defineProperty,c=Object.getOwnPropertyDescriptor,r=(n,e,t,s)=>{for(var p=s>1?void 0:s?c(e,t):e,a=n.length-1,l;a>=0;a--)(l=n[a])&&(p=(s?l(e,t,p):l(p))||p);return s&&p&&v(e,t,p),p};exports.Popover=class extends i.LitElement{constructor(){super(...arguments),this.title="",this.trigger="click",this.placement="bottom",this.offset=8,this.delay=0,this.open=!1,this.closeOnOutsideClick=!0,this.noArrow=!1,this.disabled=!1,this.handleDocumentClick=e=>{!this.open||!this.closeOnOutsideClick||e.composedPath().includes(this)||this.setOpen(!1)},this.toggle=e=>{this.disabled||(this.trigger==="click"||this.trigger==="both")&&(e?.stopPropagation(),this.clearHoverOpenTimer(),this.setOpen(!this.open))},this.handleMouseEnter=()=>{if(this.disabled||this.trigger!=="hover"&&this.trigger!=="both")return;this.clearHoverOpenTimer();const e=Math.max(0,this.delay);if(e===0){this.setOpen(!0);return}this.hoverOpenTimer=setTimeout(()=>{this.hoverOpenTimer=void 0,this.setOpen(!0)},e)},this.handleMouseLeave=()=>{this.clearHoverOpenTimer(),!this.disabled&&(this.trigger==="hover"||this.trigger==="both")&&this.setOpen(!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleDocumentClick,{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.handleDocumentClick,{capture:!0}),this.clearHoverOpenTimer(),this.destroyPopper()}updated(e){super.updated(e);const t=e.has("placement"),s=e.has("open")&&this.open;if(e.has("open")&&!this.open){this.destroyPopper();return}(s||t)&&this.open&&this.updatePopper()}setOpen(e){this.disabled&&(e=!1),e||this.clearHoverOpenTimer(),this.open!==e&&(this.open=e,this.dispatchEvent(new CustomEvent(e?"popover-open":"popover-close",{bubbles:!0,composed:!0})))}clearHoverOpenTimer(){this.hoverOpenTimer&&(clearTimeout(this.hoverOpenTimer),this.hoverOpenTimer=void 0)}updatePopper(){if(!this.isConnected||!this.open)return;const e=this.triggerElement,t=this.popperElement;if(!(!e||!t)){if(this.popperInstance){this.popperInstance.setOptions({placement:this.placement,modifiers:this.getPopperModifiers(),strategy:"fixed"}),this.popperInstance.update();return}this.popperInstance=d.createPopper(e,t,{placement:this.placement,strategy:"fixed",modifiers:this.getPopperModifiers()})}}getPopperModifiers(){const e=[{name:"offset",options:{offset:[0,this.offset]}},{name:"preventOverflow",options:{padding:8}},{name:"flip",options:{padding:8}}];return!this.noArrow&&this.popperArrowElement&&e.push({name:"arrow",options:{element:this.popperArrowElement,padding:8}}),e}destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}render(){const e=!!this.title;return i.html`
2
+ <div
3
+ class="popover__wrapper"
4
+ @mouseenter=${this.handleMouseEnter}
5
+ @mouseleave=${this.handleMouseLeave}
6
+ >
7
+ <div class="popover__trigger" part="trigger" @click=${this.toggle}>
8
+ <slot name="trigger"></slot>
9
+ </div>
10
+
11
+ ${this.open?i.html`
12
+ <div
13
+ data-popper
14
+ class="popover__panel"
15
+ role="dialog"
16
+ aria-hidden=${this.open?"false":"true"}
17
+ >
18
+ ${this.noArrow?null:i.html`<div data-popper-arrow class="popper-arrow"></div>`}
19
+ <div class="popover__content">
20
+ ${this.title?i.html`
21
+ <div class="popover__title">${this.title}</div>
22
+ `:null}
23
+ <div class="popover__body ${e?"popover__body--with-border":""}">
24
+ <slot></slot>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ `:null}
29
+ </div>
30
+ `}};exports.Popover.styles=[i.css`${i.unsafeCSS(h)}`];r([o.property({type:String})],exports.Popover.prototype,"title",2);r([o.property({type:String})],exports.Popover.prototype,"trigger",2);r([o.property({type:String})],exports.Popover.prototype,"placement",2);r([o.property({type:Number})],exports.Popover.prototype,"offset",2);r([o.property({type:Number})],exports.Popover.prototype,"delay",2);r([o.property({type:Boolean,reflect:!0})],exports.Popover.prototype,"open",2);r([o.property({type:Boolean})],exports.Popover.prototype,"closeOnOutsideClick",2);r([o.property({type:Boolean})],exports.Popover.prototype,"noArrow",2);r([o.property({type:Boolean,reflect:!0})],exports.Popover.prototype,"disabled",2);r([o.query('[part="trigger"]')],exports.Popover.prototype,"triggerElement",2);r([o.query("[data-popper]")],exports.Popover.prototype,"popperElement",2);r([o.query("[data-popper-arrow]")],exports.Popover.prototype,"popperArrowElement",2);exports.Popover=r([o.customElement("logosphere-popover")],exports.Popover);