@openfin/core-web 0.43.103 → 0.43.104
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/docs/platform-developer-guide.md +42 -5
- package/docs/web-application-developer-guide.md +29 -3
- package/out/api-client.cjs.js +1 -1
- package/out/api-client.d.ts +11 -0
- package/out/api-client.esm.js +1 -1
- package/out/docs/assets/highlight.css +2 -9
- package/out/docs/assets/navigation.js +1 -1
- package/out/docs/assets/search.js +1 -1
- package/out/docs/documents/OpenFin_Web_Application_Developer_Guide.html +9 -1
- package/out/docs/documents/Platform_Developer_Guide.html +17 -5
- package/out/docs/interfaces/_openfin_core_web.CustomLogger.html +5 -0
- package/out/docs/modules/_openfin_core_web.html +2 -1
- package/out/docs/types/_openfin_core_web.BaseConfig.html +2 -1
- package/out/docs/types/_openfin_core_web_iframe_broker.ConnectionOptions.html +1 -1
- package/out/iframe-broker.cjs.js +1 -1
- package/out/iframe-broker.d.ts +8 -0
- package/out/iframe-broker.esm.js +1 -1
- package/out/main-0a5243ce.js +1 -0
- package/out/main-3199f832.js +3 -0
- package/out/main-a76c2d61.js +1 -0
- package/out/main-b3e6d543.js +3 -0
- package/out/shared-worker.js +1 -1
- package/out/styles.css +219 -11
- package/package.json +4 -3
- package/out/main-831bc05a.js +0 -3
- package/out/main-a637ae5e.js +0 -1
- package/out/main-e7888def.js +0 -3
- package/out/main-f3fe193f.js +0 -1
package/out/styles.css
CHANGED
|
@@ -59,16 +59,6 @@
|
|
|
59
59
|
.lm_header [class^=lm_] {
|
|
60
60
|
box-sizing: content-box !important;
|
|
61
61
|
}
|
|
62
|
-
.lm_header .addTabButton {
|
|
63
|
-
-webkit-user-select: none;
|
|
64
|
-
user-select: none;
|
|
65
|
-
cursor: pointer;
|
|
66
|
-
display: flex;
|
|
67
|
-
align-items: center;
|
|
68
|
-
justify-content: center;
|
|
69
|
-
font-weight: bold;
|
|
70
|
-
padding: 0 6px;
|
|
71
|
-
}
|
|
72
62
|
.lm_header .lm_controls {
|
|
73
63
|
position: absolute;
|
|
74
64
|
right: 3px;
|
|
@@ -376,6 +366,17 @@
|
|
|
376
366
|
--top-bar-button-hover-color: var(--tab-background-color);
|
|
377
367
|
--top-bar-button-active-color: var(--tab-button-active-color);
|
|
378
368
|
|
|
369
|
+
/*Layout overflow customization */
|
|
370
|
+
/* Dynamically calculated (0 to 1) but can be used to customize shadows
|
|
371
|
+
--layout-tab-overflow-fade-left
|
|
372
|
+
--layout-tab-overflow-fade-right
|
|
373
|
+
*/
|
|
374
|
+
--layout-tab-overflow-fade-size: 16px;
|
|
375
|
+
--layout-tab-overflow-shadow-color: inherit; /* Default to initial to not break users that haven't set a color on tabs */
|
|
376
|
+
/* The next two are defined as initial because we need different values for the preview if they are not set */
|
|
377
|
+
--layout-tab-width: initial;
|
|
378
|
+
--layout-tab-min-width: var(--layout-tab-width, initial);
|
|
379
|
+
|
|
379
380
|
/* Measurements for various components */
|
|
380
381
|
--title-bar-height: 30px;
|
|
381
382
|
--title-bar-border-bottom-height: 1px;
|
|
@@ -784,4 +785,211 @@ div.placeholder_image img {
|
|
|
784
785
|
|
|
785
786
|
:root.light-theme .lm_tabdropdown_list::-webkit-scrollbar-thumb {
|
|
786
787
|
background-color: #111214;
|
|
787
|
-
}
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
/**
|
|
791
|
+
* Tab Overflow Scroll Animation System
|
|
792
|
+
*
|
|
793
|
+
* This CSS implements a scroll-driven animation system for overflowing tabs with dynamic fade effects.
|
|
794
|
+
*
|
|
795
|
+
* How it works:
|
|
796
|
+
*
|
|
797
|
+
* 1. CUSTOM PROPERTIES (@property):
|
|
798
|
+
* - Defines --layout-tab-overflow-fade-left and --layout-tab-overflow-fade-right as animatable numbers
|
|
799
|
+
* - These properties control the intensity of fade masks on each side (0 = no fade, 1 = full fade)
|
|
800
|
+
*
|
|
801
|
+
* 2. SCROLL-DRIVEN ANIMATION (tabScrollFade):
|
|
802
|
+
- see https://css-tricks.com/modern-scroll-shadows-using-scroll-driven-animations/
|
|
803
|
+
* - Uses CSS scroll-timeline to trigger animation based on scroll position
|
|
804
|
+
* - At scroll start (0%): Left fade is 0 (no fade), right fade is 1 (active)
|
|
805
|
+
* - During scroll (10%-90%): Both fades are active (1)
|
|
806
|
+
* - At scroll end (100%): Right fade is 0 (no fade), left fade is 1 (active)
|
|
807
|
+
* - --layout-tabs-overflowing acts as a [space-toggle](https://css-tricks.com/the-css-custom-property-toggle-trick/) boolean for overflow state detection
|
|
808
|
+
*
|
|
809
|
+
* 3. MASK APPLICATION (.lm_tabs):
|
|
810
|
+
* - linear-gradient mask creates transparent-to-opaque transitions on left/right edges
|
|
811
|
+
* - Variables control the fade intensity.
|
|
812
|
+
* - When fade value is 0, that side has no fade (fully opaque)
|
|
813
|
+
* - When fade value is 1, that side fades from transparent to opaque over the fade-size distance
|
|
814
|
+
*
|
|
815
|
+
* 4. SHADOW REVEAL:
|
|
816
|
+
* - .lm_tabs_scroll_shadow has a background color (--layout-tab-overflow-shadow-color)
|
|
817
|
+
* - As the mask reveals transparency, the shadow background becomes visible through the fade
|
|
818
|
+
* - This creates a visual indicator showing there's more content to scroll
|
|
819
|
+
*
|
|
820
|
+
* 5. DYNAMIC TAB SIZING:
|
|
821
|
+
* - Uses --layout-tab-width and --layout-tab-min-width for flexible tab dimensions
|
|
822
|
+
* - Internal variables provide defaults while allowing user overrides
|
|
823
|
+
* - Possible gotchas when modifying:
|
|
824
|
+
- If a user wants to use container-queries for tab width, `lm_tab.width` must be set to an absolute value for lm_tab to be sized properly with the `container` property. This is why have the --layout-tab-width variable.
|
|
825
|
+
- The tab drop preview has no content so it needs to be initialized to something other than fit-content.
|
|
826
|
+
*/
|
|
827
|
+
|
|
828
|
+
/** Define as global properties so that they can be used in the animation */
|
|
829
|
+
@property --layout-tab-overflow-fade-left {
|
|
830
|
+
syntax: '<number>';
|
|
831
|
+
inherits: true;
|
|
832
|
+
initial-value: 0;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
@property --layout-tab-overflow-fade-right {
|
|
836
|
+
syntax: '<number>';
|
|
837
|
+
inherits: true;
|
|
838
|
+
initial-value: 0;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
@keyframes tabScrollFade {
|
|
842
|
+
0% {
|
|
843
|
+
/* Space toggle. Whitespace can be used as true/false Unused by us directly but should be exposed for environments that don't support if() (ie core-web on safari) */
|
|
844
|
+
--layout-tabs-overflowing: ;
|
|
845
|
+
--layout-tab-overflow-fade-left: 0;
|
|
846
|
+
}
|
|
847
|
+
10%, 100% {
|
|
848
|
+
--layout-tab-overflow-fade-left: 1;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
0%, 90% {
|
|
852
|
+
--layout-tab-overflow-fade-right: 1;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
100% {
|
|
856
|
+
/* Space toggle. Whitespace can be used as true/false */
|
|
857
|
+
--layout-tabs-overflowing: ;
|
|
858
|
+
--layout-tab-overflow-fade-right: 0;
|
|
859
|
+
}
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
.lm_goldenlayout[data-settings-tab-overflow="scroll"] {
|
|
863
|
+
/* Defining separate _internal variables because we need defaults but our drop preview needs to know if the user set styles */
|
|
864
|
+
--_internal-tab-width: var(--layout-tab-width, fit-content);
|
|
865
|
+
--_internal-tab-min-width: var(--layout-tab-min-width, var(--_internal-tab-width));
|
|
866
|
+
|
|
867
|
+
.lm_tab {
|
|
868
|
+
width: var(--_internal-tab-width);
|
|
869
|
+
min-width: var(--_internal-tab-min-width);
|
|
870
|
+
}
|
|
871
|
+
|
|
872
|
+
.lm_tabs_scroll_shadow {
|
|
873
|
+
width: unset;
|
|
874
|
+
display: flex;
|
|
875
|
+
position: relative;
|
|
876
|
+
flex: 0 1 auto;
|
|
877
|
+
overflow: hidden;
|
|
878
|
+
background: var(--layout-tab-overflow-shadow-color);
|
|
879
|
+
|
|
880
|
+
.lm_tabs {
|
|
881
|
+
position: unset;
|
|
882
|
+
--layout-tabs-overflowing: initial;
|
|
883
|
+
overflow-x: auto;
|
|
884
|
+
overflow-y: hidden;
|
|
885
|
+
scrollbar-width: none;
|
|
886
|
+
-ms-overflow-style: none;
|
|
887
|
+
scroll-timeline: --tab-scroll x;
|
|
888
|
+
animation: tabScrollFade linear both;
|
|
889
|
+
animation-timeline: --tab-scroll;
|
|
890
|
+
display: flex;
|
|
891
|
+
|
|
892
|
+
mask-image: linear-gradient(to right,
|
|
893
|
+
rgba(0, 0, 0, calc(1 - var(--layout-tab-overflow-fade-left))) 0,
|
|
894
|
+
rgba(0, 0, 0, 1) var(--layout-tab-overflow-fade-size),
|
|
895
|
+
rgba(0, 0, 0, 1) calc(100% - var(--layout-tab-overflow-fade-size)),
|
|
896
|
+
rgba(0, 0, 0, calc(1 - var(--layout-tab-overflow-fade-right))) 100%);
|
|
897
|
+
mask-mode: alpha;
|
|
898
|
+
}
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
.lm_header {
|
|
902
|
+
display: flex;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
.lm_header .lm_controls {
|
|
906
|
+
position: unset;
|
|
907
|
+
flex: 0 0 auto;
|
|
908
|
+
/* for documentation purposes, ensure that we expect this not to shrink */
|
|
909
|
+
margin-left: auto;
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
.lm_drop_tab_placeholder {
|
|
913
|
+
/* Use the public facing variables here as the placeholder has no content */
|
|
914
|
+
width: var(--layout-tab-width, 100px);
|
|
915
|
+
min-width: var(--layout-tab-min-width, 100px);
|
|
916
|
+
float: unset;
|
|
917
|
+
}
|
|
918
|
+
|
|
919
|
+
.lm_header .newTabButton {
|
|
920
|
+
background-image: var(--new-tab-button-url);
|
|
921
|
+
filter: invert(.3);
|
|
922
|
+
background-size: cover;
|
|
923
|
+
width: 12px;
|
|
924
|
+
height: 12px;
|
|
925
|
+
float: left;
|
|
926
|
+
margin: 6px 5px 0 8px;
|
|
927
|
+
cursor: pointer;
|
|
928
|
+
flex: 0 0 auto;
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
.lm_header .newTabButton:hover {
|
|
932
|
+
filter: invert(0);
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
.lm_close {
|
|
936
|
+
display: none;
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
.lm_maximise {
|
|
940
|
+
opacity: 0.5;
|
|
941
|
+
background-repeat: no-repeat;
|
|
942
|
+
background-position: center;
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
.lm_maximise:hover {
|
|
946
|
+
opacity: 1;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
.lm_tabdropdown {
|
|
950
|
+
/* Give caret a containing block */
|
|
951
|
+
position: relative;
|
|
952
|
+
|
|
953
|
+
&::before {
|
|
954
|
+
filter: invert(.3); /* dark theme idle tint */
|
|
955
|
+
transform: translateY(2px); /* tweak to taste */
|
|
956
|
+
|
|
957
|
+
:root.light-theme & {
|
|
958
|
+
filter: invert(.7);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
961
|
+
|
|
962
|
+
&:hover::before {
|
|
963
|
+
filter: invert(0);
|
|
964
|
+
}
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
/* Tab isClosable setting */
|
|
968
|
+
.lm_tab[data-is-closable="false"] {
|
|
969
|
+
.lm_close_tab {
|
|
970
|
+
display: none !important;
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
/* layout hasHeaders setting */
|
|
975
|
+
[data-settings-has-headers="true"] {
|
|
976
|
+
.lm_header {
|
|
977
|
+
display: flex !important;
|
|
978
|
+
border-bottom: none !important;
|
|
979
|
+
min-width: 204px;
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
[class^="lm_"] {
|
|
983
|
+
box-sizing: border-box !important;
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
.lm_tab {
|
|
987
|
+
overflow-y: hidden !important;
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
[data-settings-prevent-splitter-resize="true"] {
|
|
992
|
+
.lm_splitter {
|
|
993
|
+
pointer-events: none;
|
|
994
|
+
}
|
|
995
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfin/core-web",
|
|
3
|
-
"version": "0.43.
|
|
3
|
+
"version": "0.43.104",
|
|
4
4
|
"description": "",
|
|
5
5
|
"private": false,
|
|
6
6
|
"files": [
|
|
@@ -34,8 +34,9 @@
|
|
|
34
34
|
"build:worker": "webpack --env production",
|
|
35
35
|
"build:rollup": "run-s build:lib:* build:broker:*",
|
|
36
36
|
"build:docs": "typedoc --tsconfig tsconfig.json",
|
|
37
|
+
"build:css": "ts-node scripts/bundle-css.ts",
|
|
37
38
|
"build": "run-p build:worker build:rollup build:docs",
|
|
38
|
-
"postbuild": "
|
|
39
|
+
"postbuild": "npm run build:css",
|
|
39
40
|
"dev:worker": "webpack --env development",
|
|
40
41
|
"postdev": "npm run postbuild",
|
|
41
42
|
"dev": "run-p dev:worker build:rollup build:docs",
|
|
@@ -55,6 +56,6 @@
|
|
|
55
56
|
"uuid": "^8.3.2"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|
|
58
|
-
"@openfin/core": "43.100.
|
|
59
|
+
"@openfin/core": "43.100.105"
|
|
59
60
|
}
|
|
60
61
|
}
|