@tcn/ui 0.12.2 → 0.12.4
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/dist/actions/index.d.ts +0 -2
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -10
- package/dist/actions/index.js.map +1 -1
- package/dist/group.css +1 -0
- package/dist/inputs/color_input/color_input.js +2 -4
- package/dist/inputs/color_input/color_input.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_header.js +20 -22
- package/dist/inputs/date_picker/date_picker_header.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_input.js +2 -4
- package/dist/inputs/date_picker/date_picker_input.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_time_selector.js +9 -11
- package/dist/inputs/date_picker/date_picker_time_selector.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_year_input.js +5 -7
- package/dist/inputs/date_picker/date_picker_year_input.js.map +1 -1
- package/dist/inputs/date_picker/date_picker_year_selector.js +2 -4
- package/dist/inputs/date_picker/date_picker_year_selector.js.map +1 -1
- package/dist/inputs/index.d.ts +2 -0
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/index.js +24 -20
- package/dist/inputs/index.js.map +1 -1
- package/dist/inputs/multiselect/multiselect_inline_values.js +7 -9
- package/dist/inputs/multiselect/multiselect_inline_values.js.map +1 -1
- package/dist/inputs/multiselect/multiselect_values.js +2 -4
- package/dist/inputs/multiselect/multiselect_values.js.map +1 -1
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js +2 -4
- package/dist/inputs/phone_number_input/phone_number_input_adapter.js.map +1 -1
- package/dist/inputs/phone_number_input/sip_input.js +13 -15
- package/dist/inputs/phone_number_input/sip_input.js.map +1 -1
- package/dist/inputs/select/select.js +2 -4
- package/dist/inputs/select/select.js.map +1 -1
- package/dist/{actions/button → inputs}/select_group/select_group.d.ts +1 -1
- package/dist/inputs/select_group/select_group.d.ts.map +1 -0
- package/dist/{actions/button → inputs}/select_group/select_group.js +3 -3
- package/dist/inputs/select_group/select_group.js.map +1 -0
- package/dist/inputs/select_group/single_select_group.d.ts.map +1 -0
- package/dist/inputs/select_group/single_select_group.js.map +1 -0
- package/dist/inputs/suggestions/suggestion_list.js +2 -4
- package/dist/inputs/suggestions/suggestion_list.js.map +1 -1
- package/dist/layouts/group/group.d.ts +5 -0
- package/dist/layouts/group/group.d.ts.map +1 -0
- package/dist/layouts/group/group.js +26 -0
- package/dist/layouts/group/group.js.map +1 -0
- package/dist/layouts/index.d.ts +2 -0
- package/dist/layouts/index.d.ts.map +1 -1
- package/dist/layouts/index.js +36 -32
- package/dist/layouts/index.js.map +1 -1
- package/dist/overlay/popper/base/dismissal_decorator.js +6 -6
- package/dist/overlay/popper/base/dismissal_decorator.js.map +1 -1
- package/dist/overlay/popper/context_popper.d.ts.map +1 -1
- package/dist/overlay/popper/context_popper.js +34 -26
- package/dist/overlay/popper/context_popper.js.map +1 -1
- package/dist/overlay/popper/element_popper.d.ts.map +1 -1
- package/dist/overlay/popper/element_popper.js +43 -25
- package/dist/overlay/popper/element_popper.js.map +1 -1
- package/dist/overlay/tethered/hooks/use_ref_dimensions.d.ts +3 -0
- package/dist/overlay/tethered/hooks/use_ref_dimensions.d.ts.map +1 -0
- package/dist/overlay/tethered/hooks/use_ref_dimensions.js +26 -0
- package/dist/overlay/tethered/hooks/use_ref_dimensions.js.map +1 -0
- package/dist/overlay/tethered/hooks/{useTether.d.ts → use_tether.d.ts} +7 -4
- package/dist/overlay/tethered/hooks/use_tether.d.ts.map +1 -0
- package/dist/overlay/tethered/hooks/{useTether.js → use_tether.js} +19 -15
- package/dist/overlay/tethered/hooks/use_tether.js.map +1 -0
- package/dist/overlay/tethered/hooks/use_tether_origin.d.ts +10 -0
- package/dist/overlay/tethered/hooks/use_tether_origin.d.ts.map +1 -0
- package/dist/overlay/tethered/hooks/use_tether_origin.js +22 -0
- package/dist/overlay/tethered/hooks/use_tether_origin.js.map +1 -0
- package/dist/overlay/tethered/hooks/{calculate_origin.d.ts → utils/calculate_origin.d.ts} +4 -10
- package/dist/overlay/tethered/hooks/utils/calculate_origin.d.ts.map +1 -0
- package/dist/overlay/tethered/hooks/utils/calculate_origin.js +41 -0
- package/dist/overlay/tethered/hooks/utils/calculate_origin.js.map +1 -0
- package/dist/overlay/tethered/hooks/{calculate_position.d.ts → utils/calculate_position.d.ts} +2 -2
- package/dist/overlay/tethered/hooks/utils/calculate_position.d.ts.map +1 -0
- package/dist/overlay/tethered/hooks/utils/calculate_position.js.map +1 -0
- package/dist/overlay/tethered/tethered.d.ts.map +1 -1
- package/dist/overlay/tethered/tethered.js +63 -62
- package/dist/overlay/tethered/tethered.js.map +1 -1
- package/dist/select_group.css +1 -1
- package/dist/surfaces/alert/alert.d.ts +0 -2
- package/dist/surfaces/alert/alert.d.ts.map +1 -1
- package/dist/surfaces/alert/alert.js +5 -7
- package/dist/surfaces/alert/alert.js.map +1 -1
- package/dist/surfaces/confirm/confirm.d.ts +3 -3
- package/dist/surfaces/confirm/confirm.d.ts.map +1 -1
- package/dist/surfaces/confirm/confirm.js +46 -45
- package/dist/surfaces/confirm/confirm.js.map +1 -1
- package/dist/surfaces/pop_confirm/pop_confirm.js +11 -9
- package/dist/surfaces/pop_confirm/pop_confirm.js.map +1 -1
- package/dist/surfaces/tooltip/tooltip.d.ts.map +1 -1
- package/dist/surfaces/tooltip/tooltip.js +27 -28
- package/dist/surfaces/tooltip/tooltip.js.map +1 -1
- package/dist/themes/stories/button_showcase.d.ts.map +1 -1
- package/dist/themes/stylesheets/reset.css +1 -1
- package/dist/themes/stylesheets/reset.js +3 -3
- package/dist/themes/stylesheets/reset.js.map +1 -1
- package/dist/themes/themes/ergo/ergo_theme.css +1 -1
- package/dist/themes/themes/ergo/ergo_theme.js +128 -12
- package/dist/themes/themes/ergo/ergo_theme.js.map +1 -1
- package/package.json +3 -2
- package/src/actions/index.ts +0 -8
- package/src/inputs/index.ts +9 -0
- package/src/{actions/button/__stories__ → inputs/select_group}/select_group.stories.tsx +5 -26
- package/src/{actions/button → inputs}/select_group/select_group.tsx +3 -3
- package/src/layouts/bar/bar.stories.tsx +61 -0
- package/src/layouts/group/group.module.css +8 -0
- package/src/layouts/group/group.tsx +23 -0
- package/src/layouts/index.ts +2 -0
- package/src/overlay/popper/__stories__/element_popper.stories.tsx +1 -1
- package/src/overlay/popper/base/dismissal_decorator.tsx +1 -1
- package/src/overlay/popper/context_popper.tsx +7 -3
- package/src/overlay/popper/element_popper.tsx +14 -4
- package/src/overlay/tethered/__stories__/shared/base_story_config.ts +1 -1
- package/src/overlay/tethered/hooks/use_ref_dimensions.ts +32 -0
- package/src/overlay/tethered/hooks/{useTether.ts → use_tether.ts} +7 -2
- package/src/overlay/tethered/hooks/use_tether_origin.ts +46 -0
- package/src/overlay/tethered/hooks/{calculate_origin.ts → utils/calculate_origin.ts} +12 -12
- package/src/overlay/tethered/hooks/{calculate_position.ts → utils/calculate_position.ts} +3 -3
- package/src/overlay/tethered/tethered.tsx +22 -26
- package/src/surfaces/alert/alert.tsx +0 -2
- package/src/surfaces/confirm/confirm.tsx +24 -9
- package/src/surfaces/pop_confirm/pop_confirm.stories.tsx +206 -6
- package/src/surfaces/pop_confirm/pop_confirm.tsx +1 -1
- package/src/surfaces/tooltip/__stories__/tooltip.stories.tsx +136 -0
- package/src/surfaces/tooltip/__stories__/tooltip_stories.module.css +14 -0
- package/src/surfaces/tooltip/tooltip.tsx +6 -2
- package/src/themes/stories/button_showcase.tsx +19 -51
- package/src/themes/stylesheets/reset.css +3 -3
- package/src/themes/themes/ergo/ergo_theme.css +128 -12
- package/dist/actions/button/select_group/select_group.d.ts.map +0 -1
- package/dist/actions/button/select_group/select_group.js.map +0 -1
- package/dist/actions/button/select_group/single_select_group.d.ts.map +0 -1
- package/dist/actions/button/select_group/single_select_group.js.map +0 -1
- package/dist/overlay/tethered/hooks/calculate_origin.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/calculate_origin.js +0 -41
- package/dist/overlay/tethered/hooks/calculate_origin.js.map +0 -1
- package/dist/overlay/tethered/hooks/calculate_position.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/calculate_position.js.map +0 -1
- package/dist/overlay/tethered/hooks/useCaretRefDimensions.d.ts +0 -9
- package/dist/overlay/tethered/hooks/useCaretRefDimensions.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/useCaretRefDimensions.js +0 -14
- package/dist/overlay/tethered/hooks/useCaretRefDimensions.js.map +0 -1
- package/dist/overlay/tethered/hooks/useTether.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/useTether.js.map +0 -1
- package/dist/overlay/tethered/hooks/useTetherContentRect.d.ts +0 -3
- package/dist/overlay/tethered/hooks/useTetherContentRect.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/useTetherContentRect.js +0 -36
- package/dist/overlay/tethered/hooks/useTetherContentRect.js.map +0 -1
- package/dist/overlay/tethered/hooks/useTetherOrigin.d.ts +0 -14
- package/dist/overlay/tethered/hooks/useTetherOrigin.d.ts.map +0 -1
- package/dist/overlay/tethered/hooks/useTetherOrigin.js +0 -24
- package/dist/overlay/tethered/hooks/useTetherOrigin.js.map +0 -1
- package/dist/surfaces/popconfirm/pop_confirm.d.ts +0 -5
- package/dist/surfaces/popconfirm/pop_confirm.d.ts.map +0 -1
- package/dist/surfaces/popconfirm/pop_confirm.js +0 -13
- package/dist/surfaces/popconfirm/pop_confirm.js.map +0 -1
- package/src/overlay/tethered/hooks/useCaretRefDimensions.ts +0 -22
- package/src/overlay/tethered/hooks/useTetherContentRect.ts +0 -49
- package/src/overlay/tethered/hooks/useTetherOrigin.ts +0 -49
- package/src/surfaces/popconfirm/pop_confirm.tsx +0 -18
- package/src/surfaces/tooltip/tooltip.stories.tsx +0 -54
- /package/dist/{actions/button → inputs}/select_group/single_select_group.d.ts +0 -0
- /package/dist/{actions/button → inputs}/select_group/single_select_group.js +0 -0
- /package/dist/overlay/tethered/hooks/{calculate_position.js → utils/calculate_position.js} +0 -0
- /package/src/{actions/button → inputs}/select_group/select_group.module.css +0 -0
- /package/src/{actions/button → inputs}/select_group/single_select_group.tsx +0 -0
|
@@ -48,6 +48,7 @@
|
|
|
48
48
|
--font-size: 12px;
|
|
49
49
|
|
|
50
50
|
/* Spacing */
|
|
51
|
+
--gap-xs: 2px;
|
|
51
52
|
--gap-small: 4px;
|
|
52
53
|
--gap-medium: 8px;
|
|
53
54
|
--gap-large: 16px;
|
|
@@ -89,6 +90,7 @@
|
|
|
89
90
|
--shape-radius-small: 2px;
|
|
90
91
|
--shape-radius-medium: 4px;
|
|
91
92
|
--shape-radius-large: 8px;
|
|
93
|
+
--shape-triangle-medium: 12px;
|
|
92
94
|
|
|
93
95
|
/* Palette */
|
|
94
96
|
--primary-color-faint: #c0c0c0;
|
|
@@ -562,17 +564,21 @@
|
|
|
562
564
|
|
|
563
565
|
/* Inline */
|
|
564
566
|
.tcn-tabs-bar[data-variant="inline"] {
|
|
567
|
+
font-size: 12px;
|
|
565
568
|
min-width: min-content;
|
|
566
569
|
width: auto;
|
|
567
570
|
flex-grow: 0;
|
|
568
571
|
border-radius: var(--shape-radius-medium);
|
|
569
572
|
border: 1px solid var(--on-material);
|
|
573
|
+
padding-block: 1px;
|
|
574
|
+
padding-inline: 2px;
|
|
570
575
|
|
|
571
576
|
.tcn-tabs-list {
|
|
572
|
-
|
|
573
|
-
|
|
577
|
+
height: 20px;
|
|
578
|
+
gap: var(--gap-xs);
|
|
574
579
|
.tcn-tab-item {
|
|
575
580
|
border-radius: var(--shape-radius-medium);
|
|
581
|
+
min-height: 20px;
|
|
576
582
|
}
|
|
577
583
|
}
|
|
578
584
|
}
|
|
@@ -607,12 +613,88 @@
|
|
|
607
613
|
border: inherit;
|
|
608
614
|
}
|
|
609
615
|
|
|
616
|
+
.tcn-tethered {
|
|
617
|
+
/* Managing offset of the indicator in relation for the tethered element
|
|
618
|
+
pad defaults to 0, but should be set depending on the surface */
|
|
619
|
+
|
|
620
|
+
--tether-pad-x: 0px;
|
|
621
|
+
--tether-pad-y: 0px;
|
|
622
|
+
--indicator-pad-x: 0px;
|
|
623
|
+
--indicator-pad-y: 0px;
|
|
624
|
+
--tether-pad-size: 0px;
|
|
625
|
+
--tether-pad-pos: var(--tether-pad-size);
|
|
626
|
+
--tether-pad-neg: calc(-1 * var(--tether-pad-size));
|
|
627
|
+
left: calc(
|
|
628
|
+
var(--tether-pad-x, 0) -
|
|
629
|
+
var(--indicator-pad-x, 0) +
|
|
630
|
+
var(--tethered-left, 0)
|
|
631
|
+
);
|
|
632
|
+
top: calc(var(--tether-pad-y, 0) + var(--tethered-top, 0));
|
|
633
|
+
|
|
634
|
+
:where(.tcn-tethered-origin-indicator) {
|
|
635
|
+
left: calc(var(--indicator-pad-x, 0) + var(--tethered-origin-delta-x, 0));
|
|
636
|
+
top: calc(var(--indicator-pad-y, 0) + var(--tethered-origin-delta-y, 0));
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
&[data-h-anchor="start"] {
|
|
640
|
+
--tether-pad-x: var(--tether-pad-pos);
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
&[data-h-anchor="end"] {
|
|
644
|
+
--tether-pad-x: var(--tether-pad-neg);
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
&[data-h-origin="start"] {
|
|
648
|
+
--indicator-pad-x: var(--tether-pad-pos);
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
&[data-h-origin="end"] {
|
|
652
|
+
--indicator-pad-x: var(--tether-pad-neg);
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
&[data-v-origin="center"] {
|
|
656
|
+
--indicator-pad-x: 0px;
|
|
657
|
+
--tether-pad-x: 0px;
|
|
658
|
+
&[data-v-anchor="top"] {
|
|
659
|
+
--tether-pad-y: var(--tether-pad-pos);
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
&[data-v-anchor="bottom"] {
|
|
663
|
+
--tether-pad-y: var(--tether-pad-neg);
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
&[data-anchor-direction="bottom"] {
|
|
668
|
+
padding-bottom: var(--shape-triangle-medium);
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
&[data-anchor-direction="top"] {
|
|
672
|
+
padding-top: var(--shape-triangle-medium);
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
&[data-anchor-direction="start"] {
|
|
676
|
+
padding-left: var(--shape-triangle-medium);
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
&[data-anchor-direction="end"] {
|
|
680
|
+
padding-right: var(--shape-triangle-medium);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
|
|
610
684
|
.tcn-tooltip {
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
685
|
+
--tether-pad-size: 16px;
|
|
686
|
+
background: transparent;
|
|
687
|
+
--material: var(--ergo-secondary-dark);
|
|
688
|
+
--on-material: var(--ergo-white);
|
|
689
|
+
--action: var(--ergo-tertiary);
|
|
690
|
+
--on-action: var(--ergo-secondary-dark);
|
|
691
|
+
.tcn-tooltip-label {
|
|
692
|
+
box-shadow: 0px 4px 7px 0px rgba(65, 65, 65, 0.66);
|
|
693
|
+
color: var(--on-material);
|
|
694
|
+
background: var(--material);
|
|
695
|
+
border-radius: var(--shape-radius-medium);
|
|
696
|
+
padding: var(--padding-medium);
|
|
697
|
+
}
|
|
616
698
|
}
|
|
617
699
|
|
|
618
700
|
.tcn-list {
|
|
@@ -635,6 +717,9 @@
|
|
|
635
717
|
}
|
|
636
718
|
|
|
637
719
|
.tcn-rail {
|
|
720
|
+
:where(.tcn-rail-stack) {
|
|
721
|
+
gap: var(--gap-medium);
|
|
722
|
+
}
|
|
638
723
|
:where(.tcn-body) {
|
|
639
724
|
gap: var(--gap-medium);
|
|
640
725
|
}
|
|
@@ -738,6 +823,17 @@
|
|
|
738
823
|
|
|
739
824
|
.tcn-pop-confirm {
|
|
740
825
|
--divide-header: 0;
|
|
826
|
+
--tether-pad-size: 16px;
|
|
827
|
+
:where(.tcn-tethered-origin-indicator) {
|
|
828
|
+
--material: var(--ergo-white);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
/* Set the indicator to match the header color */
|
|
832
|
+
&[data-v-origin="top"] {
|
|
833
|
+
:where(.tcn-tethered-origin-indicator) {
|
|
834
|
+
--material: var(--ergo-secondary-dark);
|
|
835
|
+
}
|
|
836
|
+
}
|
|
741
837
|
|
|
742
838
|
:where(.tcn-scaffold) {
|
|
743
839
|
--pad-inline: var(--padding-medium);
|
|
@@ -768,9 +864,25 @@
|
|
|
768
864
|
background-color: var(--background-color-primary);
|
|
769
865
|
}
|
|
770
866
|
|
|
867
|
+
.tcn-bar {
|
|
868
|
+
gap: var(--gap-medium);
|
|
869
|
+
|
|
870
|
+
/* Add a divider between groups unless there is a spacer after a group */
|
|
871
|
+
:where(.tcn-group:not(:last-child):not(:has(+ .tcn-spacer)))::after {
|
|
872
|
+
content: "";
|
|
873
|
+
display: block;
|
|
874
|
+
min-width: 2px;
|
|
875
|
+
height: 18px;
|
|
876
|
+
background: var(--ergo-grey);
|
|
877
|
+
border-radius: var(--shape-radius-small);
|
|
878
|
+
align-self: center;
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
|
|
771
882
|
/* PANEL */
|
|
772
883
|
.tcn-panel {
|
|
773
|
-
|
|
884
|
+
--material: var(--background-color-primary);
|
|
885
|
+
background-color: var(--material);
|
|
774
886
|
border-radius: var(--shape-radius-medium);
|
|
775
887
|
overflow: hidden;
|
|
776
888
|
}
|
|
@@ -860,14 +972,16 @@
|
|
|
860
972
|
}
|
|
861
973
|
|
|
862
974
|
.tcn-caret {
|
|
863
|
-
--caret-size:
|
|
975
|
+
--caret-size: var(--shape-triangle-medium);
|
|
864
976
|
--caret-triangle-height: calc(var(--caret-size) / 2);
|
|
865
977
|
--caret-triangle-width: var(--caret-size);
|
|
866
978
|
--caret-triangle-base: var(--caret-triangle-height) solid transparent;
|
|
867
979
|
--caret-triangle-peak: var(--caret-triangle-width) solid var(--material);
|
|
868
980
|
|
|
869
|
-
width:
|
|
870
|
-
height:
|
|
981
|
+
width: var(--caret-size);
|
|
982
|
+
height: var(--caret-size);
|
|
983
|
+
min-width: var(--caret-size);
|
|
984
|
+
min-height: var(--caret-size);
|
|
871
985
|
flex-grow: 0;
|
|
872
986
|
display: inline-block;
|
|
873
987
|
|
|
@@ -1189,7 +1303,9 @@
|
|
|
1189
1303
|
.tcn-switch-wrapper,
|
|
1190
1304
|
.tcn-date-picker,
|
|
1191
1305
|
.tcn-date-picker-year-selector,
|
|
1192
|
-
.tcn-radio
|
|
1306
|
+
.tcn-radio,
|
|
1307
|
+
.tcn-suggestion-list-search-input,
|
|
1308
|
+
.tcn-suggestion-list {
|
|
1193
1309
|
--accent-color: var(--ergo-primary);
|
|
1194
1310
|
}
|
|
1195
1311
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select_group.d.ts","sourceRoot":"","sources":["../../../../src/actions/button/select_group/select_group.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AACnE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,CAAC,EACjD,UAAU,CACX,GAAG;IACF,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,QAAQ,EACJ,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,GACrC,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,WAAW,sGAsDtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"select_group.js","sources":["../../../../src/actions/button/select_group/select_group.tsx"],"sourcesContent":["import { HStack } from '../../../stacks/h_stack.js';\nimport type { WithDetailedHTMLProps } from '../../../stacks/types/as.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport { Button } from '../button/button.js';\nimport styles from './select_group.module.css';\n\nexport type SelectGroupChangeCallback = (values: string[]) => void;\nexport interface SelectGroupOwnProps {\n value: string[];\n disabled?: boolean;\n}\n\nexport type SelectGroupProps = Omit<\n WithDetailedHTMLProps<SelectGroupOwnProps, 'div'>,\n 'onChange'\n> & {\n onChange?: SelectGroupChangeCallback;\n children:\n | React.ReactElement<HTMLOptionElement>\n | React.ReactElement<HTMLOptionElement>[];\n};\n\nexport const SelectGroup = React.forwardRef(function ButtonGroup(\n { children, value, className, onChange, disabled = false, ...props }: SelectGroupProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const options: React.ReactElement<any>[] = Array.isArray(children)\n ? children\n : [children];\n\n const handleChange = (option: string, isSelected: boolean) => {\n if (disabled) return;\n const next = [...value];\n if (isSelected) {\n const index = value.indexOf(option);\n index > -1 && next.splice(index, 1);\n } else {\n next.push(option);\n }\n onChange?.(next);\n };\n\n return (\n <HStack\n ref={ref}\n as=\"div\"\n inline\n width=\"auto\"\n height=\"auto\"\n data-is-disabled={disabled}\n className={clsx(styles['select-group'], 'tcn-select-group', className)}\n {...props}\n >\n {options.map((option, i) => {\n const isSelected = value.includes(option.props.value);\n const select = () => {\n handleChange(option.props.value, isSelected);\n };\n\n return (\n <React.Fragment key={i}>\n <Button\n disabled={disabled || option.props.disabled}\n data-is-disabled={disabled || option.props.disabled}\n className={clsx(styles['select-group-option'], 'tcn-select-group-option')}\n hierarchy={isSelected ? 'primary' : 'secondary'}\n onClick={select}\n value={option.props.value}\n >\n {option.props.children}\n </Button>\n </React.Fragment>\n );\n })}\n </HStack>\n );\n});\n"],"names":["SelectGroup","React","children","value","className","onChange","disabled","props","ref","options","handleChange","option","isSelected","next","index","jsx","HStack","clsx","styles","i","select","Button"],"mappings":";;;;;4LAuBaA,IAAcC,EAAM,WAAW,SAC1C,EAAE,UAAAC,GAAU,OAAAC,GAAO,WAAAC,GAAW,UAAAC,GAAU,UAAAC,IAAW,IAAO,GAAGC,EAAA,GAC7DC,GACA;AACA,QAAMC,IAAqC,MAAM,QAAQP,CAAQ,IAC7DA,IACA,CAACA,CAAQ,GAEPQ,IAAe,CAACC,GAAgBC,MAAwB;AAC5D,QAAIN,EAAU;AACd,UAAMO,IAAO,CAAC,GAAGV,CAAK;AACtB,QAAIS,GAAY;AACd,YAAME,IAAQX,EAAM,QAAQQ,CAAM;AAClC,MAAAG,IAAQ,MAAMD,EAAK,OAAOC,GAAO,CAAC;AAAA,IACpC;AACE,MAAAD,EAAK,KAAKF,CAAM;AAElB,IAAAN,IAAWQ,CAAI;AAAA,EACjB;AAEA,SACE,gBAAAE;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,IAAG;AAAA,MACH,QAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,oBAAkBF;AAAA,MAClB,WAAWW,EAAKC,EAAO,cAAc,GAAG,oBAAoBd,CAAS;AAAA,MACpE,GAAGG;AAAA,MAEH,UAAAE,EAAQ,IAAI,CAACE,GAAQQ,MAAM;AAC1B,cAAMP,IAAaT,EAAM,SAASQ,EAAO,MAAM,KAAK,GAC9CS,IAAS,MAAM;AACnB,UAAAV,EAAaC,EAAO,MAAM,OAAOC,CAAU;AAAA,QAC7C;AAEA,eACE,gBAAAG,EAACd,EAAM,UAAN,EACC,UAAA,gBAAAc;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,UAAUf,KAAYK,EAAO,MAAM;AAAA,YACnC,oBAAkBL,KAAYK,EAAO,MAAM;AAAA,YAC3C,WAAWM,EAAKC,EAAO,qBAAqB,GAAG,yBAAyB;AAAA,YACxE,WAAWN,IAAa,YAAY;AAAA,YACpC,SAASQ;AAAA,YACT,OAAOT,EAAO,MAAM;AAAA,YAEnB,YAAO,MAAM;AAAA,UAAA;AAAA,QAAA,KATGQ,CAWrB;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single_select_group.d.ts","sourceRoot":"","sources":["../../../../src/actions/button/select_group/single_select_group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,gBAAgB,EAChB,OAAO,GAAG,UAAU,GAAG,mBAAmB,CAC3C,GACC,yBAAyB,CAAC;AAE5B,eAAO,MAAM,iBAAiB,4GAgC5B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"single_select_group.js","sources":["../../../../src/actions/button/select_group/single_select_group.tsx"],"sourcesContent":["import React from 'react';\nimport { SelectGroup, SelectGroupProps } from './select_group.js';\n\nexport interface SingleSelectGroupOwnProps {\n value: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n}\n\nexport type SingleSelectGroupProps = Omit<\n SelectGroupProps,\n 'value' | 'onChange' | 'enableMultiselect'\n> &\n SingleSelectGroupOwnProps;\n\nexport const SingleSelectGroup = React.forwardRef(function SingleSelectGroup(\n {\n children,\n value,\n className,\n onChange,\n disabled = false,\n ...props\n }: SingleSelectGroupProps,\n ref: React.Ref<HTMLDivElement>\n) {\n const handleChange = (values: string[]) => {\n if (values.length === 0) {\n return;\n }\n // For single select, we take the last selected value or empty string if none selected\n const singleValue = values.length > 0 ? values[values.length - 1] : '';\n onChange?.(singleValue);\n };\n\n return (\n <SelectGroup\n ref={ref}\n value={value != null ? [value] : []}\n onChange={handleChange}\n disabled={disabled}\n className={className}\n {...props}\n >\n {children}\n </SelectGroup>\n );\n});\n"],"names":["SingleSelectGroup","React","children","value","className","onChange","disabled","props","ref","handleChange","values","singleValue","jsx","SelectGroup"],"mappings":";;;AAeO,MAAMA,IAAoBC,EAAM,WAAW,SAChD;AAAA,EACE,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAe,CAACC,MAAqB;AACzC,QAAIA,EAAO,WAAW;AACpB;AAGF,UAAMC,IAAcD,EAAO,SAAS,IAAIA,EAAOA,EAAO,SAAS,CAAC,IAAI;AACpE,IAAAL,IAAWM,CAAW;AAAA,EACxB;AAEA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAL;AAAA,MACA,OAAOL,KAAS,OAAO,CAACA,CAAK,IAAI,CAAA;AAAA,MACjC,UAAUM;AAAA,MACV,UAAAH;AAAA,MACA,WAAAF;AAAA,MACC,GAAGG;AAAA,MAEH,UAAAL;AAAA,IAAA;AAAA,EAAA;AAGP,CAAC;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculate_origin.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/calculate_origin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,cAAc,GACtB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA+BtC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC3C,QAAQ,CAKV;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,gBAAgB,GACxB,cAAc,CAQhB"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
function r(e, t, s) {
|
|
2
|
-
let n = 0, i = 0;
|
|
3
|
-
switch (s) {
|
|
4
|
-
case "top":
|
|
5
|
-
n = 0;
|
|
6
|
-
break;
|
|
7
|
-
case "center":
|
|
8
|
-
n = e.dimensions.height / 2;
|
|
9
|
-
break;
|
|
10
|
-
case "bottom":
|
|
11
|
-
n = e.dimensions.height;
|
|
12
|
-
break;
|
|
13
|
-
}
|
|
14
|
-
switch (t) {
|
|
15
|
-
case "start":
|
|
16
|
-
i = 0;
|
|
17
|
-
break;
|
|
18
|
-
case "center":
|
|
19
|
-
i = e.dimensions.width / 2;
|
|
20
|
-
break;
|
|
21
|
-
case "end":
|
|
22
|
-
i = e.dimensions.width;
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
return { yOffset: n, xOffset: i };
|
|
26
|
-
}
|
|
27
|
-
function c(e, t) {
|
|
28
|
-
return {
|
|
29
|
-
x: e.x + t.xOffset,
|
|
30
|
-
y: e.y + t.yOffset
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
function f(e, t) {
|
|
34
|
-
return e !== "center" ? e : t !== "center" ? t : "none";
|
|
35
|
-
}
|
|
36
|
-
export {
|
|
37
|
-
f as getOriginDirection,
|
|
38
|
-
r as getOriginOffset,
|
|
39
|
-
c as getOriginPosition
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=calculate_origin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculate_origin.js","sources":["../../../../src/overlay/tethered/hooks/calculate_origin.ts"],"sourcesContent":["import type { Position, Rectangle } from '../../../utils/index.js';\nimport type { HorizontalTether, VerticalTether } from '../types.js';\n\nexport type CaretDirection = 'top' | 'bottom' | 'start' | 'end' | 'none';\n\n/**\n * Calculates the offset from the tethered element's top-left corner to the origin point\n * based on tether dimensions and origin alignment.\n */\nexport function getOriginOffset(\n tether: Rectangle,\n hOrigin: HorizontalTether,\n vOrigin: VerticalTether\n): { yOffset: number; xOffset: number } {\n let yOffset = 0;\n let xOffset = 0;\n\n // Calculate vertical offset\n switch (vOrigin) {\n case 'top':\n yOffset = 0;\n break;\n case 'center':\n yOffset = tether.dimensions.height / 2;\n break;\n case 'bottom':\n yOffset = tether.dimensions.height;\n break;\n }\n\n // Calculate horizontal offset\n switch (hOrigin) {\n case 'start':\n xOffset = 0;\n break;\n case 'center':\n xOffset = tether.dimensions.width / 2;\n break;\n case 'end':\n xOffset = tether.dimensions.width;\n break;\n }\n\n return { yOffset, xOffset };\n}\n\n/**\n * Adds offset to baseline position to get absolute origin position.\n */\nexport function getOriginPosition(\n baselinePosition: Position,\n offset: { yOffset: number; xOffset: number }\n): Position {\n return {\n x: baselinePosition.x + offset.xOffset,\n y: baselinePosition.y + offset.yOffset,\n };\n}\n\n/**\n * Determines caret direction based on origin values.\n */\nexport function getOriginDirection(\n vOrigin: VerticalTether,\n hOrigin: HorizontalTether\n): CaretDirection {\n if (vOrigin !== 'center') {\n return vOrigin;\n } else if (hOrigin !== 'center') {\n return hOrigin;\n } else {\n return 'none';\n }\n}\n"],"names":["getOriginOffset","tether","hOrigin","vOrigin","yOffset","xOffset","getOriginPosition","baselinePosition","offset","getOriginDirection"],"mappings":"AASO,SAASA,EACdC,GACAC,GACAC,GACsC;AACtC,MAAIC,IAAU,GACVC,IAAU;AAGd,UAAQF,GAAA;AAAA,IACN,KAAK;AACH,MAAAC,IAAU;AACV;AAAA,IACF,KAAK;AACH,MAAAA,IAAUH,EAAO,WAAW,SAAS;AACrC;AAAA,IACF,KAAK;AACH,MAAAG,IAAUH,EAAO,WAAW;AAC5B;AAAA,EAAA;AAIJ,UAAQC,GAAA;AAAA,IACN,KAAK;AACH,MAAAG,IAAU;AACV;AAAA,IACF,KAAK;AACH,MAAAA,IAAUJ,EAAO,WAAW,QAAQ;AACpC;AAAA,IACF,KAAK;AACH,MAAAI,IAAUJ,EAAO,WAAW;AAC5B;AAAA,EAAA;AAGJ,SAAO,EAAE,SAAAG,GAAS,SAAAC,EAAA;AACpB;AAKO,SAASC,EACdC,GACAC,GACU;AACV,SAAO;AAAA,IACL,GAAGD,EAAiB,IAAIC,EAAO;AAAA,IAC/B,GAAGD,EAAiB,IAAIC,EAAO;AAAA,EAAA;AAEnC;AAKO,SAASC,EACdN,GACAD,GACgB;AAChB,SAAIC,MAAY,WACPA,IACED,MAAY,WACdA,IAEA;AAEX;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculate_position.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/calculate_position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,eAAO,MAAM,yBAAyB,GAAI,gJAWvC,+BAA+B;;;CAiFjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculate_position.js","sources":["../../../../src/overlay/tethered/hooks/calculate_position.ts"],"sourcesContent":["import type { HorizontalTether, VerticalTether } from '../types.js';\nimport type { Rectangle } from '../../../utils/index.js';\nimport type { Dimensions } from '../../../utils/index.js';\n\nexport interface CalculateTetheredPositionParams {\n anchor: Rectangle;\n tether: Rectangle;\n direction: 'ltr' | 'rtl';\n verticalAnchor: VerticalTether;\n verticalOrigin: VerticalTether;\n horizontalAnchor: HorizontalTether;\n horizontalOrigin: HorizontalTether;\n verticalOffset: number;\n horizontalOffset: number;\n viewport: Dimensions;\n}\n\nexport const calculateTetheredPosition = ({\n anchor,\n tether,\n direction,\n verticalAnchor,\n verticalOrigin,\n horizontalAnchor,\n horizontalOrigin,\n verticalOffset,\n horizontalOffset,\n viewport,\n}: CalculateTetheredPositionParams) => {\n const isRtl = direction === 'rtl';\n\n let top = anchor.position.y;\n let left = anchor.position.x;\n\n // Calculate vertical position\n switch (verticalAnchor) {\n case 'top':\n top += verticalOffset;\n break;\n case 'center':\n top += anchor.dimensions.height / 2;\n break;\n case 'bottom':\n top += anchor.dimensions.height - verticalOffset;\n break;\n }\n\n switch (verticalOrigin) {\n case 'top':\n break;\n case 'center':\n top -= tether.dimensions.height / 2;\n break;\n case 'bottom':\n top -= tether.dimensions.height;\n break;\n }\n\n // Calculate horizontal position with direction sensitivity\n if (horizontalAnchor === 'start') {\n left += isRtl ? anchor.dimensions.width + horizontalOffset : horizontalOffset;\n } else if (horizontalAnchor === 'center') {\n left += anchor.dimensions.width / 2;\n } else if (horizontalAnchor === 'end') {\n left += isRtl ? -horizontalOffset : anchor.dimensions.width + horizontalOffset;\n }\n\n // Adjust the origin based on RTL direction\n let adjustedHorizontalOrigin = horizontalOrigin;\n if (isRtl) {\n if (horizontalOrigin === 'start') {\n adjustedHorizontalOrigin = 'end';\n } else if (horizontalOrigin === 'end') {\n adjustedHorizontalOrigin = 'start';\n }\n }\n\n // Apply adjusted origin to the position calculation\n if (adjustedHorizontalOrigin === 'start') {\n // No adjustment needed\n } else if (adjustedHorizontalOrigin === 'center') {\n left -= tether.dimensions.width / 2;\n } else if (adjustedHorizontalOrigin === 'end') {\n left -= tether.dimensions.width;\n }\n\n // Ensure the popover stays within the viewport\n // Prevent overflow to the right\n if (left + tether.dimensions.width > viewport.width) {\n left = viewport.width - tether.dimensions.width;\n }\n\n // Prevent overflow to the left\n if (left < 0) {\n left = 0;\n }\n\n // Prevent overflow to the bottom\n // FIXME: doesn't account for padding.\n if (top + tether.dimensions.height > viewport.height) {\n top = viewport.height - tether.dimensions.height;\n }\n\n // Prevent overflow to the top\n if (top < 0) {\n top = 0;\n }\n\n return { top, left };\n};\n"],"names":["calculateTetheredPosition","anchor","tether","direction","verticalAnchor","verticalOrigin","horizontalAnchor","horizontalOrigin","verticalOffset","horizontalOffset","viewport","isRtl","top","left","adjustedHorizontalOrigin"],"mappings":"AAiBO,MAAMA,IAA4B,CAAC;AAAA,EACxC,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,UAAAC;AACF,MAAuC;AACrC,QAAMC,IAAQR,MAAc;AAE5B,MAAIS,IAAMX,EAAO,SAAS,GACtBY,IAAOZ,EAAO,SAAS;AAG3B,UAAQG,GAAA;AAAA,IACN,KAAK;AACH,MAAAQ,KAAOJ;AACP;AAAA,IACF,KAAK;AACH,MAAAI,KAAOX,EAAO,WAAW,SAAS;AAClC;AAAA,IACF,KAAK;AACH,MAAAW,KAAOX,EAAO,WAAW,SAASO;AAClC;AAAA,EAAA;AAGJ,UAAQH,GAAA;AAAA,IACN,KAAK;AACH;AAAA,IACF,KAAK;AACH,MAAAO,KAAOV,EAAO,WAAW,SAAS;AAClC;AAAA,IACF,KAAK;AACH,MAAAU,KAAOV,EAAO,WAAW;AACzB;AAAA,EAAA;AAIJ,EAAII,MAAqB,UACvBO,KAAQF,IAAQV,EAAO,WAAW,QAAQQ,IAAmBA,IACpDH,MAAqB,WAC9BO,KAAQZ,EAAO,WAAW,QAAQ,IACzBK,MAAqB,UAC9BO,KAAQF,IAAQ,CAACF,IAAmBR,EAAO,WAAW,QAAQQ;AAIhE,MAAIK,IAA2BP;AAC/B,SAAII,MACEJ,MAAqB,UACvBO,IAA2B,QAClBP,MAAqB,UAC9BO,IAA2B,WAK3BA,MAA6B,YAEtBA,MAA6B,WACtCD,KAAQX,EAAO,WAAW,QAAQ,IACzBY,MAA6B,UACtCD,KAAQX,EAAO,WAAW,SAKxBW,IAAOX,EAAO,WAAW,QAAQQ,EAAS,UAC5CG,IAAOH,EAAS,QAAQR,EAAO,WAAW,QAIxCW,IAAO,MACTA,IAAO,IAKLD,IAAMV,EAAO,WAAW,SAASQ,EAAS,WAC5CE,IAAMF,EAAS,SAASR,EAAO,WAAW,SAIxCU,IAAM,MACRA,IAAM,IAGD,EAAE,KAAAA,GAAK,MAAAC,EAAA;AAChB;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CaretDirection } from './calculate_origin.js';
|
|
2
|
-
export declare function useCaretRefDimensions(precision: 'high' | 'low', originDirection: CaretDirection): {
|
|
3
|
-
caretElementRef: (element: HTMLElement | null) => void;
|
|
4
|
-
caretSize: {
|
|
5
|
-
width: number;
|
|
6
|
-
height: number;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=useCaretRefDimensions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCaretRefDimensions.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/useCaretRefDimensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,KAAK,EACzB,eAAe,EAAE,cAAc,GAC9B;IACD,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C,CAYA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useState as i, useLayoutEffect as c } from "react";
|
|
2
|
-
function u(t, n) {
|
|
3
|
-
const [e, r] = i(null), [s, a] = i({ width: 0, height: 0 });
|
|
4
|
-
return c(() => {
|
|
5
|
-
if (t === "high" && n !== "none" && e) {
|
|
6
|
-
const h = e.getBoundingClientRect();
|
|
7
|
-
a({ width: h.width, height: h.height });
|
|
8
|
-
}
|
|
9
|
-
}, [t, n, e]), { caretElementRef: r, caretSize: s };
|
|
10
|
-
}
|
|
11
|
-
export {
|
|
12
|
-
u as useCaretRefDimensions
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=useCaretRefDimensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useCaretRefDimensions.js","sources":["../../../../src/overlay/tethered/hooks/useCaretRefDimensions.ts"],"sourcesContent":["import { useLayoutEffect, useState } from 'react';\nimport type { CaretDirection } from './calculate_origin.js';\n\nexport function useCaretRefDimensions(\n precision: 'high' | 'low',\n originDirection: CaretDirection\n): {\n caretElementRef: (element: HTMLElement | null) => void;\n caretSize: { width: number; height: number };\n} {\n const [caretElement, setCaretElement] = useState<HTMLElement | null>(null);\n const [caretSize, setCaretSize] = useState({ width: 0, height: 0 });\n\n useLayoutEffect(() => {\n if (precision === 'high' && originDirection !== 'none' && caretElement) {\n const rect = caretElement.getBoundingClientRect();\n setCaretSize({ width: rect.width, height: rect.height });\n }\n }, [precision, originDirection, caretElement]);\n\n return { caretElementRef: setCaretElement, caretSize };\n}\n"],"names":["useCaretRefDimensions","precision","originDirection","caretElement","setCaretElement","useState","caretSize","setCaretSize","useLayoutEffect","rect"],"mappings":";AAGO,SAASA,EACdC,GACAC,GAIA;AACA,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAA6B,IAAI,GACnE,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAE,OAAO,GAAG,QAAQ,GAAG;AAElE,SAAAG,EAAgB,MAAM;AACpB,QAAIP,MAAc,UAAUC,MAAoB,UAAUC,GAAc;AACtE,YAAMM,IAAON,EAAa,sBAAA;AAC1B,MAAAI,EAAa,EAAE,OAAOE,EAAK,OAAO,QAAQA,EAAK,QAAQ;AAAA,IACzD;AAAA,EACF,GAAG,CAACR,GAAWC,GAAiBC,CAAY,CAAC,GAEtC,EAAE,iBAAiBC,GAAiB,WAAAE,EAAA;AAC7C;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTether.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/useTether.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGpE,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,cAAyB,EACzB,cAAsB,EACtB,gBAA0B,EAC1B,gBAA0B,EAC1B,cAAkB,EAClB,gBAAoB,GACrB,EAAE,eAAe;;;;;;EA8DjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTether.js","sources":["../../../../src/overlay/tethered/hooks/useTether.ts"],"sourcesContent":["import { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { type Rectangle } from '../../../utils/index.js';\nimport type { HorizontalTether, VerticalTether } from '../types.js';\nimport { calculateTetheredPosition } from './calculate_position.js';\n\nexport interface UseTetherParams {\n anchor: Rectangle | null;\n verticalAnchor?: VerticalTether;\n verticalOrigin?: VerticalTether;\n horizontalOrigin?: HorizontalTether;\n horizontalAnchor?: HorizontalTether;\n verticalOffset?: number;\n horizontalOffset?: number;\n}\n\nexport function useTether({\n anchor,\n verticalAnchor = 'bottom',\n verticalOrigin = 'top',\n horizontalAnchor = 'start',\n horizontalOrigin = 'start',\n verticalOffset = 0,\n horizontalOffset = 0,\n}: UseTetherParams) {\n const [position, setPosition] = useState({ top: 0, left: 0 });\n const tetherRef = useRef<HTMLDivElement>(null);\n\n const getPosition = useCallback(() => {\n if (!anchor || !tetherRef.current) return;\n\n const tether = tetherRef.current.getBoundingClientRect();\n const computedStyle = getComputedStyle(tetherRef.current);\n\n return calculateTetheredPosition({\n anchor: anchor,\n tether: {\n dimensions: {\n width: tether.width,\n height: tether.height,\n },\n position: {\n x: tether.left,\n y: tether.top,\n },\n },\n direction: computedStyle.direction as 'ltr' | 'rtl',\n verticalAnchor: verticalAnchor,\n verticalOrigin: verticalOrigin,\n horizontalAnchor: horizontalAnchor,\n horizontalOrigin: horizontalOrigin,\n verticalOffset: verticalOffset,\n horizontalOffset: horizontalOffset,\n viewport: {\n width: window.innerWidth,\n height: window.innerHeight,\n },\n });\n }, [\n anchor,\n verticalAnchor,\n verticalOrigin,\n horizontalAnchor,\n horizontalOrigin,\n verticalOffset,\n horizontalOffset,\n ]);\n\n useLayoutEffect(() => {\n const update = () => {\n const newPosition = getPosition();\n if (!newPosition) return;\n const hasChanged =\n position.top !== newPosition.top || position.left !== newPosition.left;\n if (hasChanged) {\n setPosition(newPosition);\n }\n };\n update();\n window.addEventListener('resize', update);\n return () => {\n window.removeEventListener('resize', update);\n };\n });\n\n return { position, tetherRef };\n}\n"],"names":["useTether","anchor","verticalAnchor","verticalOrigin","horizontalAnchor","horizontalOrigin","verticalOffset","horizontalOffset","position","setPosition","useState","tetherRef","useRef","getPosition","useCallback","tether","computedStyle","calculateTetheredPosition","useLayoutEffect","update","newPosition"],"mappings":";;AAeO,SAASA,EAAU;AAAA,EACxB,QAAAC;AAAA,EACA,gBAAAC,IAAiB;AAAA,EACjB,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC,IAAmB;AAAA,EACnB,kBAAAC,IAAmB;AAAA,EACnB,gBAAAC,IAAiB;AAAA,EACjB,kBAAAC,IAAmB;AACrB,GAAoB;AAClB,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAE,KAAK,GAAG,MAAM,GAAG,GACtDC,IAAYC,EAAuB,IAAI,GAEvCC,IAAcC,EAAY,MAAM;AACpC,QAAI,CAACb,KAAU,CAACU,EAAU,QAAS;AAEnC,UAAMI,IAASJ,EAAU,QAAQ,sBAAA,GAC3BK,IAAgB,iBAAiBL,EAAU,OAAO;AAExD,WAAOM,EAA0B;AAAA,MAC/B,QAAAhB;AAAA,MACA,QAAQ;AAAA,QACN,YAAY;AAAA,UACV,OAAOc,EAAO;AAAA,UACd,QAAQA,EAAO;AAAA,QAAA;AAAA,QAEjB,UAAU;AAAA,UACR,GAAGA,EAAO;AAAA,UACV,GAAGA,EAAO;AAAA,QAAA;AAAA,MACZ;AAAA,MAEF,WAAWC,EAAc;AAAA,MACzB,gBAAAd;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,UAAU;AAAA,QACR,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,MAAA;AAAA,IACjB,CACD;AAAA,EACH,GAAG;AAAA,IACDN;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,IACAC;AAAA,EAAA,CACD;AAED,SAAAW,EAAgB,MAAM;AACpB,UAAMC,IAAS,MAAM;AACnB,YAAMC,IAAcP,EAAA;AACpB,UAAI,CAACO,EAAa;AAGlB,OADEZ,EAAS,QAAQY,EAAY,OAAOZ,EAAS,SAASY,EAAY,SAElEX,EAAYW,CAAW;AAAA,IAE3B;AACA,WAAAD,EAAA,GACA,OAAO,iBAAiB,UAAUA,CAAM,GACjC,MAAM;AACX,aAAO,oBAAoB,UAAUA,CAAM;AAAA,IAC7C;AAAA,EACF,CAAC,GAEM,EAAE,UAAAX,GAAU,WAAAG,EAAA;AACrB;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTetherContentRect.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/useTetherContentRect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAuBzD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,SAAS,CAwBjF"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { useState as r, useLayoutEffect as s } from "react";
|
|
2
|
-
function i(t) {
|
|
3
|
-
if (!t)
|
|
4
|
-
return {
|
|
5
|
-
dimensions: { width: 0, height: 0 },
|
|
6
|
-
position: { x: 0, y: 0 }
|
|
7
|
-
};
|
|
8
|
-
const e = t.getBoundingClientRect();
|
|
9
|
-
return {
|
|
10
|
-
dimensions: {
|
|
11
|
-
width: e.width,
|
|
12
|
-
height: e.height
|
|
13
|
-
},
|
|
14
|
-
position: {
|
|
15
|
-
x: e.left,
|
|
16
|
-
y: e.top
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
function u(t) {
|
|
21
|
-
const [e, o] = r(
|
|
22
|
-
() => i(t.current)
|
|
23
|
-
);
|
|
24
|
-
return s(() => {
|
|
25
|
-
const n = () => {
|
|
26
|
-
o(i(t.current));
|
|
27
|
-
};
|
|
28
|
-
return n(), window.addEventListener("resize", n), window.addEventListener("scroll", n, !0), () => {
|
|
29
|
-
window.removeEventListener("resize", n), window.removeEventListener("scroll", n, !0);
|
|
30
|
-
};
|
|
31
|
-
}, [t]), e;
|
|
32
|
-
}
|
|
33
|
-
export {
|
|
34
|
-
u as useTetherContentRect
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=useTetherContentRect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTetherContentRect.js","sources":["../../../../src/overlay/tethered/hooks/useTetherContentRect.ts"],"sourcesContent":["import { useLayoutEffect, useState } from 'react';\nimport type { Rectangle } from '../../../utils/index.js';\n\nfunction getTetherContentRect(element: HTMLElement | null): Rectangle {\n if (!element) {\n return {\n dimensions: { width: 0, height: 0 },\n position: { x: 0, y: 0 },\n };\n }\n\n const rect = element.getBoundingClientRect();\n return {\n dimensions: {\n width: rect.width,\n height: rect.height,\n },\n position: {\n x: rect.left,\n y: rect.top,\n },\n };\n}\n\nexport function useTetherContentRect(ref: React.RefObject<HTMLElement>): Rectangle {\n const [contentRect, setContentRect] = useState<Rectangle>(() =>\n getTetherContentRect(ref.current)\n );\n\n useLayoutEffect(() => {\n const update = () => {\n setContentRect(getTetherContentRect(ref.current));\n };\n\n update();\n\n // Track resize events\n window.addEventListener('resize', update);\n // Track scroll events\n window.addEventListener('scroll', update, true);\n\n return () => {\n window.removeEventListener('resize', update);\n window.removeEventListener('scroll', update, true);\n };\n }, [ref]);\n\n return contentRect;\n}\n"],"names":["getTetherContentRect","element","rect","useTetherContentRect","ref","contentRect","setContentRect","useState","useLayoutEffect","update"],"mappings":";AAGA,SAASA,EAAqBC,GAAwC;AACpE,MAAI,CAACA;AACH,WAAO;AAAA,MACL,YAAY,EAAE,OAAO,GAAG,QAAQ,EAAA;AAAA,MAChC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAA;AAAA,IAAE;AAI3B,QAAMC,IAAOD,EAAQ,sBAAA;AACrB,SAAO;AAAA,IACL,YAAY;AAAA,MACV,OAAOC,EAAK;AAAA,MACZ,QAAQA,EAAK;AAAA,IAAA;AAAA,IAEf,UAAU;AAAA,MACR,GAAGA,EAAK;AAAA,MACR,GAAGA,EAAK;AAAA,IAAA;AAAA,EACV;AAEJ;AAEO,SAASC,EAAqBC,GAA8C;AACjF,QAAM,CAACC,GAAaC,CAAc,IAAIC;AAAA,IAAoB,MACxDP,EAAqBI,EAAI,OAAO;AAAA,EAAA;AAGlC,SAAAI,EAAgB,MAAM;AACpB,UAAMC,IAAS,MAAM;AACnB,MAAAH,EAAeN,EAAqBI,EAAI,OAAO,CAAC;AAAA,IAClD;AAEA,WAAAK,EAAA,GAGA,OAAO,iBAAiB,UAAUA,CAAM,GAExC,OAAO,iBAAiB,UAAUA,GAAQ,EAAI,GAEvC,MAAM;AACX,aAAO,oBAAoB,UAAUA,CAAM,GAC3C,OAAO,oBAAoB,UAAUA,GAAQ,EAAI;AAAA,IACnD;AAAA,EACF,GAAG,CAACL,CAAG,CAAC,GAEDC;AACT;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Position } from '../../../utils/index.js';
|
|
2
|
-
import { HorizontalTether, VerticalTether } from '../types.js';
|
|
3
|
-
import { CaretDirection } from './calculate_origin.js';
|
|
4
|
-
export interface UseTetherOriginResult {
|
|
5
|
-
originPosition: Position;
|
|
6
|
-
originOffset: {
|
|
7
|
-
yOffset: number;
|
|
8
|
-
xOffset: number;
|
|
9
|
-
};
|
|
10
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
|
11
|
-
originDirection: CaretDirection;
|
|
12
|
-
}
|
|
13
|
-
export declare function useTetherOrigin(tetherPosition: Position, hOrigin: HorizontalTether, vOrigin: VerticalTether, precision: 'high' | 'low'): UseTetherOriginResult;
|
|
14
|
-
//# sourceMappingURL=useTetherOrigin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTetherOrigin.d.ts","sourceRoot":"","sources":["../../../../src/overlay/tethered/hooks/useTetherOrigin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,QAAQ,CAAC;IACzB,YAAY,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,wBAAgB,eAAe,CAC7B,cAAc,EAAE,QAAQ,EACxB,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAAG,KAAK,GACxB,qBAAqB,CAyBvB"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { useRef as g } from "react";
|
|
2
|
-
import { getOriginOffset as u, getOriginPosition as O, getOriginDirection as m } from "./calculate_origin.js";
|
|
3
|
-
import { useTetherContentRect as p } from "./useTetherContentRect.js";
|
|
4
|
-
function P(r, o, t, f) {
|
|
5
|
-
const i = g(null), n = p(i);
|
|
6
|
-
if (f === "low")
|
|
7
|
-
return {
|
|
8
|
-
originPosition: r,
|
|
9
|
-
originOffset: { yOffset: 0, xOffset: 0 },
|
|
10
|
-
containerRef: i,
|
|
11
|
-
originDirection: "none"
|
|
12
|
-
};
|
|
13
|
-
const e = u(n, o, t), s = O(n.position, e), c = m(t, o);
|
|
14
|
-
return {
|
|
15
|
-
originPosition: s,
|
|
16
|
-
originOffset: e,
|
|
17
|
-
containerRef: i,
|
|
18
|
-
originDirection: c
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
export {
|
|
22
|
-
P as useTetherOrigin
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=useTetherOrigin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTetherOrigin.js","sources":["../../../../src/overlay/tethered/hooks/useTetherOrigin.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { Position } from '../../../utils/index.js';\nimport type { HorizontalTether, VerticalTether } from '../types.js';\nimport {\n getOriginDirection,\n getOriginOffset,\n getOriginPosition,\n type CaretDirection,\n} from './calculate_origin.js';\nimport { useTetherContentRect } from './useTetherContentRect.js';\n\nexport interface UseTetherOriginResult {\n originPosition: Position;\n originOffset: { yOffset: number; xOffset: number };\n containerRef: React.RefObject<HTMLDivElement>;\n originDirection: CaretDirection;\n}\n\nexport function useTetherOrigin(\n tetherPosition: Position,\n hOrigin: HorizontalTether,\n vOrigin: VerticalTether,\n precision: 'high' | 'low'\n): UseTetherOriginResult {\n const containerRef = useRef<HTMLDivElement>(null);\n const containerRect = useTetherContentRect(containerRef);\n\n // If precision is low, return default values\n if (precision === 'low') {\n return {\n originPosition: tetherPosition,\n originOffset: { yOffset: 0, xOffset: 0 },\n containerRef,\n originDirection: 'none',\n };\n }\n\n // Calculate origin values for high precision\n const originOffset = getOriginOffset(containerRect, hOrigin, vOrigin);\n const originPosition = getOriginPosition(containerRect.position, originOffset);\n const originDirection = getOriginDirection(vOrigin, hOrigin);\n\n return {\n originPosition,\n originOffset,\n containerRef,\n originDirection,\n };\n}\n"],"names":["useTetherOrigin","tetherPosition","hOrigin","vOrigin","precision","containerRef","useRef","containerRect","useTetherContentRect","originOffset","getOriginOffset","originPosition","getOriginPosition","originDirection","getOriginDirection"],"mappings":";;;AAkBO,SAASA,EACdC,GACAC,GACAC,GACAC,GACuB;AACvB,QAAMC,IAAeC,EAAuB,IAAI,GAC1CC,IAAgBC,EAAqBH,CAAY;AAGvD,MAAID,MAAc;AAChB,WAAO;AAAA,MACL,gBAAgBH;AAAA,MAChB,cAAc,EAAE,SAAS,GAAG,SAAS,EAAA;AAAA,MACrC,cAAAI;AAAA,MACA,iBAAiB;AAAA,IAAA;AAKrB,QAAMI,IAAeC,EAAgBH,GAAeL,GAASC,CAAO,GAC9DQ,IAAiBC,EAAkBL,EAAc,UAAUE,CAAY,GACvEI,IAAkBC,EAAmBX,GAASD,CAAO;AAE3D,SAAO;AAAA,IACL,gBAAAS;AAAA,IACA,cAAAF;AAAA,IACA,cAAAJ;AAAA,IACA,iBAAAQ;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { ElementPopperProps } from '../../overlay/popper/element_popper.js';
|
|
3
|
-
export type PopConfirmProps = ElementPopperProps;
|
|
4
|
-
export declare const PopConfirm: React.ForwardRefExoticComponent<import('../../overlay/index.js').BasePopperProps & import('../../overlay/index.js').ElementTetheredProps & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
-
//# sourceMappingURL=pop_confirm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pop_confirm.d.ts","sourceRoot":"","sources":["../../../src/surfaces/popconfirm/pop_confirm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAEjD,eAAO,MAAM,UAAU,iLAQtB,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx as f } from "react/jsx-runtime";
|
|
2
|
-
import p from "react";
|
|
3
|
-
import { clsx as e } from "clsx";
|
|
4
|
-
import { ElementPopper as n } from "../../overlay/popper/element_popper.js";
|
|
5
|
-
const u = p.forwardRef(
|
|
6
|
-
function({ children: o, className: r, ...m }, t) {
|
|
7
|
-
return /* @__PURE__ */ f(n, { ref: t, className: e(r, "tcn-popconfirm"), ...m, children: o });
|
|
8
|
-
}
|
|
9
|
-
);
|
|
10
|
-
export {
|
|
11
|
-
u as PopConfirm
|
|
12
|
-
};
|
|
13
|
-
//# sourceMappingURL=pop_confirm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pop_confirm.js","sources":["../../../src/surfaces/popconfirm/pop_confirm.tsx"],"sourcesContent":["import React from 'react';\nimport { clsx } from 'clsx';\nimport {\n ElementPopper,\n type ElementPopperProps,\n} from '../../overlay/popper/element_popper.js';\n\nexport type PopConfirmProps = ElementPopperProps;\n\nexport const PopConfirm = React.forwardRef<HTMLDivElement, PopConfirmProps>(\n function PopConfirm({ children, className, ...props }, ref) {\n return (\n <ElementPopper ref={ref} className={clsx(className, 'tcn-popconfirm')} {...props}>\n {children}\n </ElementPopper>\n );\n }\n);\n"],"names":["PopConfirm","React","children","className","props","ref","jsx","ElementPopper","clsx"],"mappings":";;;;AASO,MAAMA,IAAaC,EAAM;AAAA,EAC9B,SAAoB,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,EAAA,GAASC,GAAK;AAC1D,WACE,gBAAAC,EAACC,GAAA,EAAc,KAAAF,GAAU,WAAWG,EAAKL,GAAW,gBAAgB,GAAI,GAAGC,GACxE,UAAAF,EAAA,CACH;AAAA,EAEJ;AACF;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { useLayoutEffect, useState } from 'react';
|
|
2
|
-
import type { CaretDirection } from './calculate_origin.js';
|
|
3
|
-
|
|
4
|
-
export function useCaretRefDimensions(
|
|
5
|
-
precision: 'high' | 'low',
|
|
6
|
-
originDirection: CaretDirection
|
|
7
|
-
): {
|
|
8
|
-
caretElementRef: (element: HTMLElement | null) => void;
|
|
9
|
-
caretSize: { width: number; height: number };
|
|
10
|
-
} {
|
|
11
|
-
const [caretElement, setCaretElement] = useState<HTMLElement | null>(null);
|
|
12
|
-
const [caretSize, setCaretSize] = useState({ width: 0, height: 0 });
|
|
13
|
-
|
|
14
|
-
useLayoutEffect(() => {
|
|
15
|
-
if (precision === 'high' && originDirection !== 'none' && caretElement) {
|
|
16
|
-
const rect = caretElement.getBoundingClientRect();
|
|
17
|
-
setCaretSize({ width: rect.width, height: rect.height });
|
|
18
|
-
}
|
|
19
|
-
}, [precision, originDirection, caretElement]);
|
|
20
|
-
|
|
21
|
-
return { caretElementRef: setCaretElement, caretSize };
|
|
22
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { useLayoutEffect, useState } from 'react';
|
|
2
|
-
import type { Rectangle } from '../../../utils/index.js';
|
|
3
|
-
|
|
4
|
-
function getTetherContentRect(element: HTMLElement | null): Rectangle {
|
|
5
|
-
if (!element) {
|
|
6
|
-
return {
|
|
7
|
-
dimensions: { width: 0, height: 0 },
|
|
8
|
-
position: { x: 0, y: 0 },
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const rect = element.getBoundingClientRect();
|
|
13
|
-
return {
|
|
14
|
-
dimensions: {
|
|
15
|
-
width: rect.width,
|
|
16
|
-
height: rect.height,
|
|
17
|
-
},
|
|
18
|
-
position: {
|
|
19
|
-
x: rect.left,
|
|
20
|
-
y: rect.top,
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function useTetherContentRect(ref: React.RefObject<HTMLElement>): Rectangle {
|
|
26
|
-
const [contentRect, setContentRect] = useState<Rectangle>(() =>
|
|
27
|
-
getTetherContentRect(ref.current)
|
|
28
|
-
);
|
|
29
|
-
|
|
30
|
-
useLayoutEffect(() => {
|
|
31
|
-
const update = () => {
|
|
32
|
-
setContentRect(getTetherContentRect(ref.current));
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
update();
|
|
36
|
-
|
|
37
|
-
// Track resize events
|
|
38
|
-
window.addEventListener('resize', update);
|
|
39
|
-
// Track scroll events
|
|
40
|
-
window.addEventListener('scroll', update, true);
|
|
41
|
-
|
|
42
|
-
return () => {
|
|
43
|
-
window.removeEventListener('resize', update);
|
|
44
|
-
window.removeEventListener('scroll', update, true);
|
|
45
|
-
};
|
|
46
|
-
}, [ref]);
|
|
47
|
-
|
|
48
|
-
return contentRect;
|
|
49
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { useRef } from 'react';
|
|
2
|
-
import type { Position } from '../../../utils/index.js';
|
|
3
|
-
import type { HorizontalTether, VerticalTether } from '../types.js';
|
|
4
|
-
import {
|
|
5
|
-
getOriginDirection,
|
|
6
|
-
getOriginOffset,
|
|
7
|
-
getOriginPosition,
|
|
8
|
-
type CaretDirection,
|
|
9
|
-
} from './calculate_origin.js';
|
|
10
|
-
import { useTetherContentRect } from './useTetherContentRect.js';
|
|
11
|
-
|
|
12
|
-
export interface UseTetherOriginResult {
|
|
13
|
-
originPosition: Position;
|
|
14
|
-
originOffset: { yOffset: number; xOffset: number };
|
|
15
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
|
16
|
-
originDirection: CaretDirection;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function useTetherOrigin(
|
|
20
|
-
tetherPosition: Position,
|
|
21
|
-
hOrigin: HorizontalTether,
|
|
22
|
-
vOrigin: VerticalTether,
|
|
23
|
-
precision: 'high' | 'low'
|
|
24
|
-
): UseTetherOriginResult {
|
|
25
|
-
const containerRef = useRef<HTMLDivElement>(null);
|
|
26
|
-
const containerRect = useTetherContentRect(containerRef);
|
|
27
|
-
|
|
28
|
-
// If precision is low, return default values
|
|
29
|
-
if (precision === 'low') {
|
|
30
|
-
return {
|
|
31
|
-
originPosition: tetherPosition,
|
|
32
|
-
originOffset: { yOffset: 0, xOffset: 0 },
|
|
33
|
-
containerRef,
|
|
34
|
-
originDirection: 'none',
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Calculate origin values for high precision
|
|
39
|
-
const originOffset = getOriginOffset(containerRect, hOrigin, vOrigin);
|
|
40
|
-
const originPosition = getOriginPosition(containerRect.position, originOffset);
|
|
41
|
-
const originDirection = getOriginDirection(vOrigin, hOrigin);
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
originPosition,
|
|
45
|
-
originOffset,
|
|
46
|
-
containerRef,
|
|
47
|
-
originDirection,
|
|
48
|
-
};
|
|
49
|
-
}
|