@designbasekorea/ui-wc 0.9.4 → 0.10.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 (55) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +2 -0
  3. package/dist/esm/components/db-accordion.d.ts +22 -10
  4. package/dist/esm/components/db-accordion.js +1 -1
  5. package/dist/esm/components/db-avatar.js +1 -1
  6. package/dist/esm/components/db-button.d.ts +33 -1
  7. package/dist/esm/components/db-button.js +1 -1
  8. package/dist/esm/components/db-chat-orb.d.ts +13 -0
  9. package/dist/esm/components/db-chat-orb.js +1 -1
  10. package/dist/esm/components/db-chat-room.js +1 -1
  11. package/dist/esm/components/db-chat-widget.js +1 -1
  12. package/dist/esm/components/db-checkbox.d.ts +3 -0
  13. package/dist/esm/components/db-checkbox.js +1 -1
  14. package/dist/esm/components/db-confetti.d.ts +11 -5
  15. package/dist/esm/components/db-confetti.js +1 -1
  16. package/dist/esm/components/db-email-verify.d.ts +36 -7
  17. package/dist/esm/components/db-email-verify.js +1 -1
  18. package/dist/esm/components/db-floating-action-button.d.ts +1 -1
  19. package/dist/esm/components/db-floating-action-button.js +1 -1
  20. package/dist/esm/components/db-input.d.ts +8 -1
  21. package/dist/esm/components/db-input.js +1 -1
  22. package/dist/esm/components/db-navbar.d.ts +3 -0
  23. package/dist/esm/components/db-navbar.js +1 -1
  24. package/dist/esm/components/db-otp-input.js +1 -1
  25. package/dist/esm/components/db-page-header.d.ts +11 -0
  26. package/dist/esm/components/db-page-header.js +1 -1
  27. package/dist/esm/components/db-phone-verify.d.ts +33 -11
  28. package/dist/esm/components/db-phone-verify.js +1 -1
  29. package/dist/esm/components/db-radio.d.ts +3 -0
  30. package/dist/esm/components/db-radio.js +1 -1
  31. package/dist/esm/components/db-range-slider.d.ts +35 -7
  32. package/dist/esm/components/db-range-slider.js +1 -1
  33. package/dist/esm/components/db-select.d.ts +35 -6
  34. package/dist/esm/components/db-select.js +1 -1
  35. package/dist/esm/components/db-tabs.d.ts +36 -13
  36. package/dist/esm/components/db-tabs.js +1 -1
  37. package/dist/esm/components/db-textarea.d.ts +13 -1
  38. package/dist/esm/components/db-textarea.js +1 -1
  39. package/dist/esm/components/db-toggle.d.ts +33 -4
  40. package/dist/esm/components/db-toggle.js +1 -1
  41. package/dist/esm/components/db-two-factor.d.ts +35 -12
  42. package/dist/esm/components/db-two-factor.js +1 -1
  43. package/dist/esm/core/control-label.js +1 -0
  44. package/dist/esm/core/i18n-copy.js +1 -1
  45. package/dist/esm/core/range-values.js +1 -0
  46. package/dist/esm/core/text-field-state.js +1 -0
  47. package/dist/esm/node_modules/@designbasekorea/ui-contracts/dist/components.js +1 -1
  48. package/dist/index.cjs +1 -1
  49. package/dist/index.css +1 -1
  50. package/dist/index.d.ts +362 -77
  51. package/dist/index.esm.js +1 -1
  52. package/dist/react/index.cjs +1 -1
  53. package/dist/react/index.d.ts +5431 -634
  54. package/dist/react/index.esm.js +1 -1
  55. package/package.json +7 -3
package/dist/index.d.ts CHANGED
@@ -697,6 +697,17 @@ declare global {
697
697
  * their renderer. This keeps React/Vue slots stable while sharing one element.
698
698
  */
699
699
  declare class DbButton extends HTMLElement {
700
+ static readonly formAssociated = true;
701
+ private readonly internals;
702
+ private formDisabled;
703
+ private spacePressed;
704
+ private syncing;
705
+ private pendingSync;
706
+ private managedLoadingLabel;
707
+ private actionEpoch;
708
+ private implicitSubmitter?;
709
+ private childObserver?;
710
+ private desiredTabIndex;
700
711
  static get observedAttributes(): string[];
701
712
  /**
702
713
  * 계약에 없는 값이 attribute 로 들어오면 기본값으로 되돌린다 — throw 하지 않는다.
@@ -713,6 +724,24 @@ declare class DbButton extends HTMLElement {
713
724
  set accentStyle(value: string);
714
725
  get type(): string;
715
726
  set type(value: string);
727
+ get form(): HTMLFormElement | null;
728
+ get name(): string;
729
+ set name(value: string);
730
+ get value(): string;
731
+ set value(value: string);
732
+ get formNoValidate(): boolean;
733
+ set formNoValidate(value: boolean);
734
+ get formAction(): string;
735
+ set formAction(value: string);
736
+ get formMethod(): string;
737
+ set formMethod(value: string);
738
+ get formEnctype(): string;
739
+ set formEnctype(value: string);
740
+ get formTarget(): string;
741
+ set formTarget(value: string);
742
+ private get blocked();
743
+ formDisabledCallback(disabled: boolean): void;
744
+ click(): void;
716
745
  get href(): string;
717
746
  set href(value: string);
718
747
  get loadingText(): string;
@@ -727,14 +756,17 @@ declare class DbButton extends HTMLElement {
727
756
  set fullWidth(value: boolean);
728
757
  connectedCallback(): void;
729
758
  disconnectedCallback(): void;
730
- attributeChangedCallback(): void;
759
+ attributeChangedCallback(name?: string, oldValue?: string | null, value?: string | null): void;
731
760
  private handleClick;
761
+ private followLink;
732
762
  private handleKeyDown;
733
763
  private handleKeyUp;
764
+ private handleBlur;
734
765
  private handlePointerDown;
735
766
  private handlePointerUp;
736
767
  private syncAttributes;
737
768
  private getIconSize;
769
+ private syncImplicitSubmitter;
738
770
  private resolveIconName;
739
771
  private isManagedIconNode;
740
772
  private syncIcons;
@@ -766,6 +798,7 @@ declare class DbInput extends HTMLElement {
766
798
  private shapeKey;
767
799
  static get observedAttributes(): string[];
768
800
  private input?;
801
+ private formState;
769
802
  private passwordVisible;
770
803
  private isFocused;
771
804
  private touched;
@@ -773,6 +806,12 @@ declare class DbInput extends HTMLElement {
773
806
  private detachScrub?;
774
807
  get value(): string;
775
808
  set value(value: string);
809
+ get defaultValue(): string;
810
+ set defaultValue(value: string);
811
+ get name(): string;
812
+ set name(value: string);
813
+ get required(): boolean;
814
+ set required(value: boolean);
776
815
  get type(): string;
777
816
  set type(value: string);
778
817
  get size(): string;
@@ -784,7 +823,7 @@ declare class DbInput extends HTMLElement {
784
823
  connectedCallback(): void;
785
824
  disconnectedCallback(): void;
786
825
  attributeChangedCallback(name: string): void;
787
- focus(): void;
826
+ focus(options?: FocusOptions): void;
788
827
  private get passwordMinLength();
789
828
  private get validationVisibility();
790
829
  private get validateOnBlur();
@@ -824,11 +863,14 @@ declare class DbCheckbox extends HTMLElement {
824
863
  private input?;
825
864
  private visual?;
826
865
  private labelEl?;
866
+ private readonly labelContent;
827
867
  private built;
828
868
  private userInteracted;
829
869
  private resetChecked?;
830
870
  private readonly cleanups;
831
871
  focus(options?: FocusOptions): void;
872
+ get label(): string;
873
+ set label(value: string);
832
874
  get name(): string;
833
875
  set name(value: string);
834
876
  get value(): string;
@@ -883,26 +925,55 @@ declare class DbToggle extends HTMLElement {
883
925
  private readonly internals;
884
926
  private root?;
885
927
  private labelEl?;
928
+ private readonly labelContent;
886
929
  private built;
887
- /** default-checked 는 초기값일 뿐 — 한 번 조작하면 checked/selected 만 본다 */
888
- private userInteracted;
930
+ private dirty;
931
+ private resetChecked?;
932
+ private awaitingInitial;
933
+ private formDisabled;
889
934
  get checked(): boolean;
890
935
  set checked(value: boolean);
936
+ get selected(): boolean;
937
+ set selected(value: boolean);
938
+ get defaultChecked(): boolean;
939
+ set defaultChecked(value: boolean);
940
+ get defaultSelected(): boolean;
941
+ set defaultSelected(value: boolean);
891
942
  get name(): string;
892
943
  set name(value: string);
944
+ get label(): string;
945
+ set label(value: string);
946
+ get value(): string;
947
+ set value(value: string);
893
948
  get disabled(): boolean;
894
949
  set disabled(value: boolean);
895
950
  get readOnly(): boolean;
896
951
  set readOnly(value: boolean);
952
+ get required(): boolean;
953
+ set required(value: boolean);
954
+ get hasLabel(): boolean;
955
+ set hasLabel(value: boolean);
897
956
  get size(): string;
898
957
  set size(value: string);
899
958
  get variant(): string;
900
959
  set variant(value: string);
960
+ get form(): HTMLFormElement | null;
961
+ get validity(): ValidityState;
962
+ get validationMessage(): string;
963
+ get willValidate(): boolean;
964
+ checkValidity(): boolean;
965
+ reportValidity(): boolean;
966
+ focus(options?: FocusOptions): void;
967
+ private get unavailable();
968
+ private captureFirstChecked;
969
+ private setPristineChecked;
901
970
  connectedCallback(): void;
902
- attributeChangedCallback(): void;
971
+ disconnectedCallback(): void;
972
+ attributeChangedCallback(name: string): void;
973
+ formAssociatedCallback(): void;
903
974
  formResetCallback(): void;
975
+ formStateRestoreCallback(state: string | File | FormData | null): void;
904
976
  formDisabledCallback(disabled: boolean): void;
905
- private get hasLabel();
906
977
  private syncFormValue;
907
978
  private build;
908
979
  private handleClick;
@@ -1051,23 +1122,32 @@ interface TabItemConfig {
1051
1122
  }
1052
1123
  declare class DbTabs extends HTMLElement {
1053
1124
  static get observedAttributes(): string[];
1125
+ private readonly uid;
1126
+ private readonly records;
1127
+ private readonly slotNodes;
1054
1128
  private list?;
1055
1129
  private indicator?;
1056
- private panel?;
1057
- private tabButtons;
1058
- private inactivePanels;
1059
- private isRendering;
1130
+ private stash?;
1131
+ private rendering;
1132
+ private reflecting;
1133
+ private focusedKey?;
1060
1134
  private childObserver?;
1061
1135
  private resizeObserver?;
1062
1136
  private resizeRaf?;
1063
- get labels(): string[];
1064
- set labels(value: string[] | string);
1137
+ private drag?;
1138
+ private suppressClick;
1139
+ private clickTimer?;
1065
1140
  get tabItems(): TabItemConfig[];
1066
- get items(): TabItemConfig[];
1067
- set items(value: TabItemConfig[] | string);
1068
1141
  set tabItems(value: TabItemConfig[] | string);
1142
+ get items(): TabItemConfig[] | string;
1143
+ set items(value: TabItemConfig[] | string);
1144
+ get labels(): string[];
1145
+ set labels(value: string[] | string);
1146
+ private entries;
1069
1147
  get activeIndex(): number;
1070
1148
  set activeIndex(value: number);
1149
+ get selectedId(): string;
1150
+ set selectedId(value: string);
1071
1151
  get orientation(): string;
1072
1152
  set orientation(value: string);
1073
1153
  get size(): string;
@@ -1078,13 +1158,26 @@ declare class DbTabs extends HTMLElement {
1078
1158
  set fullWidth(value: boolean);
1079
1159
  connectedCallback(): void;
1080
1160
  disconnectedCallback(): void;
1081
- private handleResize;
1082
- attributeChangedCallback(): void;
1083
- private handleListScroll;
1084
- private collectPanelContent;
1161
+ attributeChangedCallback(name: string, oldValue: string | null, value: string | null): void;
1162
+ refresh(): void;
1163
+ focus(options?: FocusOptions): void;
1164
+ private slotIndex;
1165
+ private collectSlots;
1166
+ private createRecord;
1167
+ private hideUnassigned;
1085
1168
  private render;
1169
+ private syncRoving;
1086
1170
  private select;
1087
- private handleKeyDown;
1171
+ private navigate;
1172
+ private ensureVisible;
1173
+ private beginDrag;
1174
+ private moveDrag;
1175
+ private finishDrag;
1176
+ private cancelDrag;
1177
+ private endDrag;
1178
+ private captureClick;
1179
+ private handleResize;
1180
+ private handleListScroll;
1088
1181
  private updateIndicator;
1089
1182
  }
1090
1183
  declare global {
@@ -1240,10 +1333,10 @@ declare global {
1240
1333
  }
1241
1334
  }
1242
1335
 
1336
+ type ExpandMode = 'multiple' | 'single' | 'all';
1243
1337
  interface AccordionItemConfig {
1244
1338
  id?: string;
1245
1339
  title: string;
1246
- /** 슬롯(content-N)이 없을 때 본문으로 렌더되는 텍스트 */
1247
1340
  content?: string;
1248
1341
  disabled?: boolean;
1249
1342
  itemType?: 'icon' | 'number' | 'question' | 'none';
@@ -1251,28 +1344,39 @@ interface AccordionItemConfig {
1251
1344
  }
1252
1345
  declare class DbAccordion extends HTMLElement {
1253
1346
  static get observedAttributes(): string[];
1347
+ private readonly uid;
1348
+ private readonly panels;
1349
+ private readonly slotNodes;
1254
1350
  private expanded;
1255
- private isRendering;
1256
- private suppressExpandedAttrCallback;
1351
+ private rendering;
1352
+ private reflecting;
1257
1353
  private childObserver?;
1354
+ private stash?;
1258
1355
  get items(): AccordionItemConfig[];
1259
1356
  set items(value: AccordionItemConfig[] | string);
1357
+ get size(): string;
1358
+ set size(value: string);
1359
+ get variant(): string;
1360
+ set variant(value: string);
1260
1361
  get allowMultiple(): boolean;
1261
1362
  set allowMultiple(value: boolean);
1363
+ get expandMode(): ExpandMode;
1364
+ set expandMode(value: ExpandMode);
1262
1365
  get expandedItems(): string[];
1263
1366
  set expandedItems(value: string[] | string);
1264
1367
  connectedCallback(): void;
1265
1368
  disconnectedCallback(): void;
1266
- attributeChangedCallback(name: string): void;
1267
- /** id와 index 문자열 충돌 방지 — 항목당 단일 키만 사용 */
1268
- private resolveItemKey;
1269
- private getExpandMode;
1369
+ attributeChangedCallback(name: string, oldValue: string | null, value: string | null): void;
1370
+ /** Refresh externally supplied slot structure without changing expansion or emitting events. */
1371
+ refresh(): void;
1372
+ focus(options?: FocusOptions): void;
1373
+ private entries;
1270
1374
  private syncExpandedFromAttributes;
1271
- private iconSize;
1272
- private collectPanelContent;
1273
- private isItemExpanded;
1375
+ private collectSlots;
1376
+ private createPanel;
1274
1377
  private syncExpandedState;
1275
1378
  private render;
1379
+ private navigate;
1276
1380
  private toggle;
1277
1381
  }
1278
1382
  declare global {
@@ -1353,18 +1457,45 @@ declare class DbSelect extends HTMLElement {
1353
1457
  private built;
1354
1458
  private searchTerm;
1355
1459
  private focusedIndex;
1460
+ private initialValue?;
1461
+ private awaitingValue;
1462
+ private userInteracted;
1463
+ private formDisabled;
1464
+ private wasOpen;
1465
+ private searchFocusFrame?;
1466
+ private typeahead;
1467
+ private typeaheadAt;
1468
+ get defaultValue(): string;
1469
+ set defaultValue(value: string | string[]);
1470
+ get disabled(): boolean;
1471
+ set disabled(value: boolean);
1472
+ get readOnly(): boolean;
1473
+ set readOnly(value: boolean);
1474
+ get required(): boolean;
1475
+ set required(value: boolean);
1476
+ get form(): HTMLFormElement | null;
1477
+ get validity(): ValidityState;
1478
+ get validationMessage(): string;
1479
+ get willValidate(): boolean;
1480
+ checkValidity(): boolean;
1481
+ reportValidity(): boolean;
1482
+ focus(options?: FocusOptions): void;
1483
+ private get unavailable();
1484
+ private get locked();
1485
+ private captureDefault;
1356
1486
  get name(): string;
1357
1487
  set name(value: string);
1358
1488
  get open(): boolean;
1359
1489
  set open(value: boolean);
1360
1490
  get value(): string;
1361
- set value(value: string);
1491
+ set value(value: string | string[]);
1362
1492
  connectedCallback(): void;
1363
1493
  formAssociatedCallback(): void;
1364
1494
  disconnectedCallback(): void;
1365
1495
  formResetCallback(): void;
1496
+ formStateRestoreCallback(state: string | File | FormData | null): void;
1366
1497
  formDisabledCallback(disabled: boolean): void;
1367
- attributeChangedCallback(name: string): void;
1498
+ attributeChangedCallback(name: string, oldValue: string | null): void;
1368
1499
  get multiple(): boolean;
1369
1500
  set multiple(value: boolean);
1370
1501
  get searchable(): boolean;
@@ -1384,6 +1515,8 @@ declare class DbSelect extends HTMLElement {
1384
1515
  private handleClear;
1385
1516
  private handleSearchInput;
1386
1517
  private handleDocumentMouseDown;
1518
+ private handleFocusOut;
1519
+ private moveFocus;
1387
1520
  private handleDocumentKeyDown;
1388
1521
  private getFilteredOptions;
1389
1522
  private selectOption;
@@ -1392,12 +1525,14 @@ declare class DbSelect extends HTMLElement {
1392
1525
  * combobox 트리거에 접근 가능한 이름을 붙인다.
1393
1526
  *
1394
1527
  * 트리거는 `<div role="combobox">` 라서 `<label for>` 로는 연결되지 않는다.
1395
- * 라벨이 있으면 `aria-labelledby`, 없으면 소비자가 준 `aria-label`,
1396
- * 그것도 없으면 placeholder 를 이름으로 쓴다. (A11Y-NAME)
1528
+ * 명시적 aria-labelledby/aria-label, 보이는 label, placeholder 순으로
1529
+ * 실제 trigger와 검색 입력 및 목록의 이름을 동기화한다. (A11Y-NAME)
1397
1530
  */
1398
1531
  private syncAccessibleName;
1399
1532
  private syncState;
1400
1533
  private syncOpenState;
1534
+ private cancelSearchFocus;
1535
+ private scheduleSearchFocus;
1401
1536
  private syncTrigger;
1402
1537
  private syncOptions;
1403
1538
  private escape;
@@ -1418,13 +1553,25 @@ declare class DbTextarea extends HTMLElement {
1418
1553
  private errorEl?;
1419
1554
  private footerEl?;
1420
1555
  private built;
1556
+ private formState;
1421
1557
  get value(): string;
1422
1558
  set value(value: string);
1559
+ get defaultValue(): string;
1560
+ set defaultValue(value: string);
1561
+ get name(): string;
1562
+ set name(value: string);
1563
+ get required(): boolean;
1564
+ set required(value: boolean);
1565
+ get disabled(): boolean;
1566
+ set disabled(value: boolean);
1567
+ get readOnly(): boolean;
1568
+ set readOnly(value: boolean);
1423
1569
  get size(): string;
1424
1570
  set size(value: string);
1425
1571
  connectedCallback(): void;
1572
+ disconnectedCallback(): void;
1426
1573
  attributeChangedCallback(name: string): void;
1427
- focus(): void;
1574
+ focus(options?: FocusOptions): void;
1428
1575
  private get showCharacterCount();
1429
1576
  private get characterCountPosition();
1430
1577
  private build;
@@ -1447,11 +1594,14 @@ declare class DbRadio extends HTMLElement {
1447
1594
  private visual?;
1448
1595
  private dot?;
1449
1596
  private labelEl?;
1597
+ private readonly labelContent;
1450
1598
  private built;
1451
1599
  private userInteracted;
1452
1600
  private resetChecked?;
1453
1601
  private readonly cleanups;
1454
1602
  focus(options?: FocusOptions): void;
1603
+ get label(): string;
1604
+ set label(value: string);
1455
1605
  get name(): string;
1456
1606
  set name(value: string);
1457
1607
  get value(): string;
@@ -2424,6 +2574,9 @@ declare class DbNavbar extends HTMLElement {
2424
2574
  private static nextId;
2425
2575
  private readonly mobileMenuId;
2426
2576
  private mobileOpen;
2577
+ private slotObserver?;
2578
+ private containerObserver?;
2579
+ private escapeMenu;
2427
2580
  private userMenuOpen;
2428
2581
  private expandedMobile;
2429
2582
  private outsideHandler;
@@ -2850,6 +3003,11 @@ declare class DbRangeSlider extends HTMLElement {
2850
3003
  private trackEl;
2851
3004
  private fillEl;
2852
3005
  private thumbEls;
3006
+ private initialized;
3007
+ private reflecting;
3008
+ private pointerId;
3009
+ private pointerThumb;
3010
+ private tooltipResize?;
2853
3011
  private currentValue;
2854
3012
  private currentRange;
2855
3013
  private isDragging;
@@ -2857,15 +3015,35 @@ declare class DbRangeSlider extends HTMLElement {
2857
3015
  private boundTrackClick;
2858
3016
  private boundPointerMove;
2859
3017
  private boundPointerUp;
3018
+ private boundPointerCancel;
2860
3019
  private eventsBound;
2861
3020
  connectedCallback(): void;
2862
3021
  disconnectedCallback(): void;
2863
- attributeChangedCallback(name: string): void;
3022
+ attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
2864
3023
  private isStructuralAttribute;
2865
3024
  get value(): number;
2866
3025
  set value(v: number);
2867
3026
  get range(): [number, number] | undefined;
2868
3027
  set range(v: [number, number] | string | undefined);
3028
+ get min(): number;
3029
+ set min(value: number);
3030
+ get max(): number;
3031
+ set max(value: number);
3032
+ get step(): number;
3033
+ set step(value: number);
3034
+ get size(): string;
3035
+ set size(value: string);
3036
+ get variant(): string;
3037
+ set variant(value: string);
3038
+ get disabled(): boolean;
3039
+ set disabled(value: boolean);
3040
+ get readOnly(): boolean;
3041
+ set readOnly(value: boolean);
3042
+ get vertical(): boolean;
3043
+ set vertical(value: boolean);
3044
+ focus(options?: FocusOptions): void;
3045
+ private get bounds();
3046
+ private normalizeValues;
2869
3047
  private build;
2870
3048
  private getValuePosition;
2871
3049
  private shouldShowLabel;
@@ -2879,32 +3057,35 @@ declare class DbRangeSlider extends HTMLElement {
2879
3057
  private isMarkActive;
2880
3058
  private syncVisuals;
2881
3059
  private syncThumbTooltips;
3060
+ private fitFloatingText;
3061
+ private syncMarkLabelBounds;
2882
3062
  private syncA11y;
2883
3063
  private setThumbPosition;
2884
3064
  private valueToPercent;
2885
3065
  private percentToValue;
2886
- private snapToStep;
2887
3066
  private clamp;
3067
+ /** snap-marks: the marks are the only selectable values. */
3068
+ private snapStops;
3069
+ private adjacentStop;
2888
3070
  private getNumberAttr;
2889
3071
  private normalizeRangeInput;
2890
3072
  private parseRangeAttr;
2891
3073
  private parseMarks;
3074
+ private readMarks;
2892
3075
  private parseMarkLabels;
2893
3076
  private isInteractive;
2894
3077
  private getTrackPercent;
2895
3078
  private handleThumbPointerDown;
2896
3079
  private handleTrackClick;
2897
- /**
2898
- * 포인터 이동을 프레임당 1회로 병합한다. preventDefault 를 쓰지 않으므로 안전하다. (PERF-RAF)
2899
- * 메서드가 아니라 필드로 선언해야 rafThrottle 로 감쌀 수 있다.
2900
- */
2901
3080
  private handlePointerMove;
2902
3081
  private handlePointerUp;
3082
+ private cancelDrag;
2903
3083
  private setThumbActive;
3084
+ private reflectCurrent;
2904
3085
  private applyDragValue;
3086
+ private applyValue;
2905
3087
  private commitValueAtPosition;
2906
3088
  private handleKeyDown;
2907
- private afterKeyboard;
2908
3089
  private dispatchValueChange;
2909
3090
  private dispatchRangeChange;
2910
3091
  }
@@ -3191,7 +3372,18 @@ declare class DbPageHeader extends HTMLElement {
3191
3372
  private stickyMarker?;
3192
3373
  private stickyObserver?;
3193
3374
  private compact;
3375
+ private motionArmed;
3376
+ private stickySpacer?;
3377
+ private sizeObserver?;
3378
+ private expandedHeight;
3379
+ private motionFrame?;
3380
+ private settling;
3381
+ private updateStickySpace;
3382
+ private stickyOffset;
3383
+ private scrollRoot?;
3384
+ private releaseAnchor?;
3194
3385
  private refreshSticky;
3386
+ private refreshOffset;
3195
3387
  private observeSticky;
3196
3388
  private setCompact;
3197
3389
  connectedCallback(): void;
@@ -3283,7 +3475,7 @@ declare class DbFloatingActionButton extends DbButton {
3283
3475
  set collapseThreshold(value: number);
3284
3476
  connectedCallback(): void;
3285
3477
  disconnectedCallback(): void;
3286
- attributeChangedCallback(name?: string): void;
3478
+ attributeChangedCallback(name?: string, oldValue?: string | null, value?: string | null): void;
3287
3479
  private syncFab;
3288
3480
  private measureLabel;
3289
3481
  private unbindScroll;
@@ -5481,31 +5673,44 @@ declare global {
5481
5673
  }
5482
5674
  }
5483
5675
 
5484
- /**
5485
- * ui-wc — db-phone-verify (수동 작성, 자동 동기화 대상 아님)
5486
- *
5487
- * 한국형 휴대폰 본인인증: 통신사 → 번호 → 인증번호 발송 → OTP + 타이머/재전송.
5488
- */
5489
-
5490
5676
  type Size$2 = (typeof PHONE_VERIFY_SIZES)[number];
5677
+ type Step$1 = 'phone' | 'code' | 'verified';
5491
5678
  declare class DbPhoneVerify extends HTMLElement {
5492
5679
  static get observedAttributes(): string[];
5493
5680
  private built;
5494
5681
  private timerId;
5682
+ /** 인증번호 유효 시간(초) */
5495
5683
  private remaining;
5684
+ /** 재전송 버튼이 다시 열리기까지 남은 시간(초) */
5685
+ private cooldownLeft;
5686
+ private expired;
5687
+ private closeBtn;
5688
+ private headerEl;
5689
+ private eyebrowEl;
5690
+ private titleEl;
5691
+ private descEl;
5692
+ private formEl;
5496
5693
  private carrierSelect;
5497
5694
  private phoneInput;
5498
5695
  private sendBtn;
5696
+ private codeBlock;
5697
+ private codeLabelEl;
5499
5698
  private otpInput;
5500
5699
  private timerEl;
5501
- private resendBtn;
5700
+ private expiredEl;
5502
5701
  private verifyBtn;
5503
- private codeBlock;
5702
+ private resendHintEl;
5703
+ private resendBtn;
5704
+ private changeBtn;
5705
+ private verifiedBlock;
5706
+ private verifiedTitleEl;
5707
+ private verifiedDescEl;
5708
+ private doneBtn;
5504
5709
  private errorEl;
5505
5710
  get size(): Size$2;
5506
5711
  set size(v: Size$2);
5507
- get step(): 'phone' | 'code' | 'verified';
5508
- set step(v: 'phone' | 'code' | 'verified');
5712
+ get step(): Step$1;
5713
+ set step(v: Step$1);
5509
5714
  get phone(): string;
5510
5715
  set phone(v: string);
5511
5716
  get carrier(): string;
@@ -5514,6 +5719,9 @@ declare class DbPhoneVerify extends HTMLElement {
5514
5719
  set code(v: string);
5515
5720
  get countdown(): number;
5516
5721
  set countdown(v: number);
5722
+ /** 재전송을 다시 누를 수 있기까지 기다리는 시간(초). 기본 30초. 0이면 바로 누를 수 있다. */
5723
+ get resendCooldown(): number;
5724
+ set resendCooldown(v: number);
5517
5725
  connectedCallback(): void;
5518
5726
  disconnectedCallback(): void;
5519
5727
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
@@ -5523,13 +5731,19 @@ declare class DbPhoneVerify extends HTMLElement {
5523
5731
  restartCountdown(): void;
5524
5732
  /** 인증 완료 상태로 전환합니다. */
5525
5733
  markVerified(): void;
5734
+ /** 번호 입력 단계로 돌아갑니다 (입력한 코드는 지웁니다). */
5735
+ editPhone(): void;
5526
5736
  private clearTimer;
5527
- private startTimer;
5737
+ private startTimers;
5528
5738
  private renderTimer;
5739
+ private emit;
5529
5740
  private build;
5530
5741
  private sync;
5531
5742
  private isPhoneValid;
5743
+ private requestSend;
5532
5744
  private requestVerify;
5745
+ /** 번역 문장 안의 {0} 자리에 값을 굵게 넣는다 — 언어마다 어순이 달라 조각내 번역하지 않는다. */
5746
+ private setTextWithValue;
5533
5747
  }
5534
5748
  declare global {
5535
5749
  interface HTMLElementTagNameMap {
@@ -5538,34 +5752,53 @@ declare global {
5538
5752
  }
5539
5753
 
5540
5754
  type Size$1 = (typeof EMAIL_VERIFY_SIZES)[number];
5755
+ type Step = 'email' | 'code' | 'sent' | 'verified';
5541
5756
  declare class DbEmailVerify extends HTMLElement {
5542
5757
  static get observedAttributes(): string[];
5543
5758
  private built;
5544
5759
  private timerId;
5760
+ /** 인증번호 유효 시간(초) — code 모드에서만 쓴다 */
5545
5761
  private remaining;
5762
+ /** 재전송 버튼이 다시 열리기까지 남은 시간(초) */
5763
+ private cooldownLeft;
5764
+ private expired;
5765
+ private eyebrowEl;
5766
+ private headerEl;
5767
+ private titleEl;
5768
+ private descEl;
5546
5769
  private emailInput;
5547
5770
  private sendBtn;
5548
5771
  private otpInput;
5549
5772
  private timerEl;
5550
- private resendBtn;
5773
+ private expiredEl;
5774
+ private codeResendBtn;
5775
+ private codeChangeBtn;
5551
5776
  private verifyBtn;
5552
5777
  private confirmBtn;
5778
+ private doneBtn;
5779
+ private sentResendBtn;
5780
+ private sentChangeBtn;
5781
+ private sentDescEl;
5782
+ private verifiedDescEl;
5553
5783
  private codeBlock;
5554
- private confirmBlock;
5784
+ private sentBlock;
5555
5785
  private verifiedBlock;
5556
5786
  private emailRow;
5557
5787
  private errorEl;
5558
- private closeBtn?;
5788
+ private closeBtn;
5559
5789
  get mode(): 'code' | 'confirm';
5560
5790
  set mode(v: 'code' | 'confirm');
5561
5791
  get size(): Size$1;
5562
5792
  set size(v: Size$1);
5563
- get step(): 'email' | 'code' | 'sent' | 'verified';
5564
- set step(v: 'email' | 'code' | 'sent' | 'verified');
5793
+ get step(): Step;
5794
+ set step(v: Step);
5565
5795
  get email(): string;
5566
5796
  set email(v: string);
5567
5797
  get countdown(): number;
5568
5798
  set countdown(v: number);
5799
+ /** 재전송을 다시 누를 수 있기까지 기다리는 시간(초). 기본 30초. 0이면 바로 누를 수 있다. */
5800
+ get resendCooldown(): number;
5801
+ set resendCooldown(v: number);
5569
5802
  connectedCallback(): void;
5570
5803
  disconnectedCallback(): void;
5571
5804
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
@@ -5574,14 +5807,24 @@ declare class DbEmailVerify extends HTMLElement {
5574
5807
  restartCountdown(): void;
5575
5808
  markSent(): void;
5576
5809
  markVerified(): void;
5810
+ /** 이메일 입력 단계로 돌아갑니다 (입력한 코드는 지웁니다). */
5811
+ editEmail(): void;
5812
+ private startTimersForStep;
5577
5813
  private clearTimer;
5578
- private startTimer;
5814
+ private startTimers;
5579
5815
  private renderTimer;
5816
+ private syncVerifyDisabled;
5817
+ private emit;
5818
+ private handleResend;
5819
+ private handleChangeEmail;
5580
5820
  private build;
5821
+ private buildFooter;
5581
5822
  private sync;
5582
5823
  private isEmailValid;
5824
+ private requestSend;
5583
5825
  private requestVerify;
5584
- private setEmphasizedText;
5826
+ /** 번역 문장 안의 {0} 자리에 이메일을 굵게 넣는다 — 언어마다 어순이 달라 조각내 번역하지 않는다. */
5827
+ private setTextWithEmail;
5585
5828
  }
5586
5829
  declare global {
5587
5830
  interface HTMLElementTagNameMap {
@@ -5605,41 +5848,64 @@ declare class DbTwoFactor extends HTMLElement {
5605
5848
  static get observedAttributes(): string[];
5606
5849
  private built;
5607
5850
  private timerId;
5851
+ /** 코드 유효 시간(초) — SMS·이메일에서만 쓴다 */
5608
5852
  private remaining;
5853
+ /** 재전송 버튼이 다시 열리기까지 남은 시간(초) */
5854
+ private cooldownLeft;
5855
+ private expired;
5856
+ private backupMode;
5857
+ private resendCount;
5858
+ private closeBtn;
5859
+ private headerEl;
5860
+ private eyebrowEl;
5861
+ private titleEl;
5862
+ private descEl;
5609
5863
  private segment;
5610
- private otpInput;
5611
- private hintEl;
5864
+ private codeBlock;
5865
+ private codeLabelEl;
5612
5866
  private timerEl;
5613
- private codeHead;
5614
- private resendBtn;
5867
+ private otpInput;
5868
+ private expiredEl;
5869
+ private backupInput;
5615
5870
  private verifyBtn;
5871
+ private resendGroup;
5872
+ private resendHintEl;
5873
+ private resendBtn;
5616
5874
  private backupBtn;
5617
- private errorEl;
5618
- private channelActions;
5619
- private resendStatus;
5620
- private backupBlock;
5621
- private backupInput;
5622
5875
  private backupCancelBtn;
5623
- private backupMode;
5624
- private resendCount;
5876
+ private verifiedBlock;
5877
+ private verifiedTitleEl;
5878
+ private verifiedDescEl;
5879
+ private doneBtn;
5880
+ private errorEl;
5625
5881
  get method(): Method;
5626
5882
  set method(v: Method);
5627
5883
  get size(): Size;
5628
5884
  set size(v: Size);
5629
5885
  get countdown(): number;
5630
5886
  set countdown(v: number);
5887
+ /** 재전송을 다시 누를 수 있기까지 기다리는 시간(초). 기본 30초. 0이면 바로 누를 수 있다. */
5888
+ get resendCooldown(): number;
5889
+ set resendCooldown(v: number);
5631
5890
  get maxResends(): number;
5891
+ private get usesTimer();
5632
5892
  connectedCallback(): void;
5633
5893
  disconnectedCallback(): void;
5634
5894
  attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
5635
5895
  /** 수동 제어 모드에서 코드 발송 성공 후 카운트다운을 시작합니다. */
5636
5896
  restartCountdown(): void;
5897
+ /** 인증 완료 화면으로 전환합니다. */
5898
+ markVerified(): void;
5637
5899
  private clearTimer;
5638
- private startTimer;
5900
+ private startTimers;
5639
5901
  private renderTimer;
5902
+ private syncVerifyDisabled;
5903
+ private emit;
5640
5904
  private build;
5641
5905
  private sync;
5642
5906
  private requestVerify;
5907
+ /** 번역 문장 안의 {0} 자리에 값을 굵게 넣는다 — 언어마다 어순이 달라 조각내 번역하지 않는다. */
5908
+ private setTextWithValue;
5643
5909
  }
5644
5910
  declare global {
5645
5911
  interface HTMLElementTagNameMap {
@@ -5763,6 +6029,10 @@ declare class DbChatOrb extends HTMLElement {
5763
6029
  private lastVoiceRipple;
5764
6030
  private previousVoiceLevel;
5765
6031
  private displayedVoiceLevel;
6032
+ private dotsMix;
6033
+ private layer;
6034
+ private customShapes;
6035
+ private shapeBuffer;
5766
6036
  private inputStream;
5767
6037
  private audioContext;
5768
6038
  private audioSource;
@@ -5776,6 +6046,15 @@ declare class DbChatOrb extends HTMLElement {
5776
6046
  set state(v: OrbState);
5777
6047
  get theme(): OrbTheme;
5778
6048
  set theme(v: OrbTheme);
6049
+ /** thinking 상태의 표현. `dots` 는 구체가 작아지며 점 3개가 순서대로 튀는 로딩 모션으로 바뀝니다. */
6050
+ get thinkingStyle(): 'orb' | 'dots';
6051
+ set thinkingStyle(v: 'orb' | 'dots');
6052
+ /**
6053
+ * morph 로 순환할 모양 목록. 프리셋 이름(circle · squircle · flower · star · triangle · blob)
6054
+ * 또는 SVG path 의 d 값을 섞어서 넣을 수 있습니다. 속성 `shape="circle,flower,star"` 로도 지정합니다.
6055
+ */
6056
+ get shapes(): string[];
6057
+ set shapes(v: string[] | null);
5779
6058
  /** 외부 오디오 분석기가 전달하는 정규화 음성 레벨(0–1). */
5780
6059
  get voiceLevel(): number;
5781
6060
  set voiceLevel(v: number);
@@ -7582,6 +7861,8 @@ interface ConfettiParticleOptions {
7582
7861
  y: number;
7583
7862
  };
7584
7863
  colors?: string[];
7864
+ /** 색상 프리셋 이름(CONFETTI_PALETTES). colors 가 있으면 colors 가 우선합니다. */
7865
+ palette?: string;
7585
7866
  shapes?: ConfettiShape[];
7586
7867
  scalar?: number;
7587
7868
  zIndex?: number;
@@ -7592,6 +7873,7 @@ interface ConfettiFireworkOptions {
7592
7873
  interval?: number;
7593
7874
  particleCount?: number;
7594
7875
  colors?: string[];
7876
+ palette?: string;
7595
7877
  }
7596
7878
  declare class DbConfetti extends HTMLElement {
7597
7879
  static get observedAttributes(): string[];
@@ -7617,6 +7899,9 @@ declare class DbConfetti extends HTMLElement {
7617
7899
  set originY(value: number);
7618
7900
  get colors(): string[];
7619
7901
  set colors(value: string[]);
7902
+ /** 색상 프리셋 이름. `colors` 속성이 있으면 colors 가 우선합니다. */
7903
+ get palette(): string;
7904
+ set palette(value: string);
7620
7905
  get shapes(): ConfettiShape[];
7621
7906
  set shapes(value: ConfettiShape[]);
7622
7907
  get duration(): number;
@@ -7631,9 +7916,9 @@ declare class DbConfetti extends HTMLElement {
7631
7916
  private sync;
7632
7917
  fire(opts?: ConfettiParticleOptions): void;
7633
7918
  fireworks(options?: ConfettiFireworkOptions): void;
7634
- cannon(): void;
7635
- stars(): void;
7636
- pride(): void;
7919
+ cannon(options?: ConfettiParticleOptions): void;
7920
+ stars(options?: ConfettiParticleOptions): void;
7921
+ pride(options?: ConfettiParticleOptions): void;
7637
7922
  snow(): void;
7638
7923
  fireByMode(): void;
7639
7924
  private drawStar;
@@ -7648,8 +7933,8 @@ interface ConfettiFunction {
7648
7933
  (options?: ConfettiParticleOptions): void;
7649
7934
  fireworks(options?: ConfettiFireworkOptions): void;
7650
7935
  cannon(options?: ConfettiParticleOptions): void;
7651
- stars(): void;
7652
- pride(): void;
7936
+ stars(options?: ConfettiParticleOptions): void;
7937
+ pride(options?: ConfettiParticleOptions): void;
7653
7938
  snow(): void;
7654
7939
  }
7655
7940
  declare const confetti: ConfettiFunction;