@pythia-software/query-table-ui 0.2.0 → 0.3.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.
package/dist/theme.css CHANGED
@@ -689,6 +689,11 @@
689
689
  align-items: center;
690
690
  gap: 4px;
691
691
  }
692
+ .qt-sort-extract {
693
+ display: inline-flex;
694
+ align-items: center;
695
+ gap: 4px;
696
+ }
692
697
  .qt-chip-and {
693
698
  color: var(--qt-muted);
694
699
  font-size: 11px;
@@ -736,6 +741,132 @@
736
741
  font-size: 10px;
737
742
  font-style: italic;
738
743
  }
744
+ .qt-where-term-wrap {
745
+ display: inline-flex;
746
+ align-items: center;
747
+ gap: 4px;
748
+ }
749
+ .qt-where-and {
750
+ color: var(--qt-muted);
751
+ font-size: 11px;
752
+ text-transform: uppercase;
753
+ letter-spacing: 0.5px;
754
+ padding: 0 1px;
755
+ }
756
+ .qt-chip--where {
757
+ position: relative;
758
+ height: auto;
759
+ min-height: 24px;
760
+ flex-wrap: wrap;
761
+ }
762
+ .qt-chip--where .qt-chip-grip {
763
+ cursor: grab;
764
+ }
765
+ .qt-chip--or {
766
+ border-top-color: var(--qt-border);
767
+ border-bottom-color: var(--qt-border);
768
+ border-left-color: #fff;
769
+ border-right-color: #fff;
770
+ background: #fff;
771
+ align-items: center;
772
+ min-height: 42px;
773
+ padding: 7px 4px;
774
+ }
775
+ .qt-or-group {
776
+ display: inline-flex;
777
+ align-items: center;
778
+ gap: 4px;
779
+ flex-wrap: wrap;
780
+ border: 1px solid var(--qt-border);
781
+ border-radius: var(--qt-radius);
782
+ padding: 3px 6px;
783
+ }
784
+ .qt-or-member {
785
+ display: inline-flex;
786
+ align-items: center;
787
+ gap: 4px;
788
+ }
789
+ .qt-chip-or {
790
+ color: var(--qt-muted);
791
+ font-weight: 700;
792
+ font-size: 11px;
793
+ }
794
+ .qt-pred {
795
+ display: inline-flex;
796
+ align-items: center;
797
+ gap: 4px;
798
+ }
799
+ .qt-op-picker {
800
+ position: relative;
801
+ display: inline-flex;
802
+ }
803
+ .qt-op-trigger {
804
+ display: inline-flex;
805
+ align-items: center;
806
+ gap: 2px;
807
+ }
808
+ .qt-op-caret {
809
+ font-size: 8px;
810
+ color: var(--qt-muted);
811
+ }
812
+ .qt-op-pop {
813
+ position: absolute;
814
+ top: calc(100% + 4px);
815
+ left: 0;
816
+ z-index: 210;
817
+ display: grid;
818
+ grid-template-columns: 1fr 1fr;
819
+ gap: 1px 4px;
820
+ min-width: 190px;
821
+ padding: 4px;
822
+ background: #fff;
823
+ color: var(--qt-text);
824
+ border: 1px solid var(--qt-border);
825
+ border-radius: var(--qt-radius);
826
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
827
+ }
828
+ .qt-op-cell {
829
+ display: block;
830
+ text-align: left;
831
+ white-space: nowrap;
832
+ font: inherit;
833
+ font-size: 12px;
834
+ padding: 4px 8px;
835
+ border: 1px solid transparent;
836
+ border-radius: 4px;
837
+ background: transparent;
838
+ color: var(--qt-text);
839
+ cursor: pointer;
840
+ }
841
+ .qt-op-cell:hover {
842
+ background: var(--qt-header-bg);
843
+ }
844
+ .qt-op-cell--neg {
845
+ color: var(--qt-fail-fg);
846
+ }
847
+ .qt-op-cell--neg:hover {
848
+ background: var(--qt-fail-bg);
849
+ }
850
+ .qt-op-cell--on {
851
+ border-color: var(--qt-accent);
852
+ background: var(--qt-accent-bg);
853
+ font-weight: 600;
854
+ }
855
+ .qt-op-cell--neg.qt-op-cell--on {
856
+ border-color: var(--qt-fail-fg);
857
+ background: var(--qt-fail-bg);
858
+ }
859
+ .qt-chip--drop-before {
860
+ box-shadow: -3px 0 0 var(--qt-accent);
861
+ }
862
+ .qt-chip--drop-after {
863
+ box-shadow: 3px 0 0 var(--qt-accent);
864
+ }
865
+ .qt-chip--drop-merge {
866
+ outline: 2px dashed var(--qt-accent);
867
+ outline-offset: 1px;
868
+ background: var(--qt-accent-bg);
869
+ }
739
870
  .qt-picker {
740
871
  position: relative;
741
872
  display: inline-block;
@@ -743,6 +874,7 @@
743
874
  .qt-picker-input {
744
875
  font: inherit;
745
876
  font-size: 12px;
877
+ color: var(--qt-text);
746
878
  border: 1px solid var(--qt-accent);
747
879
  border-radius: 4px;
748
880
  padding: 2px 6px;
@@ -756,6 +888,7 @@
756
888
  max-height: 280px;
757
889
  overflow-y: auto;
758
890
  background: #fff;
891
+ color: var(--qt-text);
759
892
  border: 1px solid var(--qt-border);
760
893
  border-radius: var(--qt-radius);
761
894
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
@@ -779,6 +912,7 @@
779
912
  text-align: left;
780
913
  border: 0;
781
914
  background: transparent;
915
+ color: var(--qt-text);
782
916
  cursor: pointer;
783
917
  padding: 5px 8px;
784
918
  font-size: 12px;
@@ -874,6 +1008,48 @@
874
1008
  border-radius: 3px;
875
1009
  font-size: 11px;
876
1010
  }
1011
+ .qt-cm-filter-grid {
1012
+ display: grid;
1013
+ grid-template-columns: 1fr 1fr;
1014
+ gap: 1px 4px;
1015
+ padding: 0 2px 2px;
1016
+ }
1017
+ .qt-cm-col-head {
1018
+ font-size: 10px;
1019
+ text-transform: uppercase;
1020
+ letter-spacing: 0.5px;
1021
+ color: var(--qt-muted);
1022
+ padding: 2px 8px 0;
1023
+ }
1024
+ .qt-cm-col-head--neg {
1025
+ color: var(--qt-fail-fg);
1026
+ }
1027
+ .qt-cm-filter {
1028
+ display: flex;
1029
+ align-items: center;
1030
+ gap: 4px;
1031
+ padding: 5px 8px;
1032
+ font-size: 12px;
1033
+ white-space: nowrap;
1034
+ overflow: hidden;
1035
+ }
1036
+ .qt-cm-filter .qt-cm-op {
1037
+ font-weight: 600;
1038
+ }
1039
+ .qt-cm-filter code {
1040
+ flex: 0 1 auto;
1041
+ overflow: hidden;
1042
+ text-overflow: ellipsis;
1043
+ }
1044
+ .qt-cm-filter--neg {
1045
+ color: var(--qt-fail-fg);
1046
+ }
1047
+ .qt-cm-filter--neg:hover {
1048
+ background: var(--qt-fail-bg);
1049
+ }
1050
+ .qt-cm-filter-empty {
1051
+ display: block;
1052
+ }
877
1053
  .qt-selection-toolbar {
878
1054
  display: flex;
879
1055
  align-items: center;
@@ -1384,7 +1560,8 @@
1384
1560
  font-size: 13px;
1385
1561
  }
1386
1562
  .qt-chip-where-list,
1387
- .qt-chip-where-clause {
1563
+ .qt-chip-where-clause,
1564
+ .qt-sort-extract {
1388
1565
  max-width: 100%;
1389
1566
  }
1390
1567
  .qt-chip--where {
@@ -1687,4 +1864,389 @@
1687
1864
  transition: none;
1688
1865
  }
1689
1866
  }
1867
+ .qt-select-editor {
1868
+ width: min(1480px, 97vw);
1869
+ height: min(900px, 94vh);
1870
+ display: flex;
1871
+ flex-direction: column;
1872
+ background: var(--qt-bg, #fff);
1873
+ color: var(--qt-fg, #172033);
1874
+ border: 1px solid var(--qt-border, #dbe1e8);
1875
+ border-radius: 12px;
1876
+ box-shadow: 0 24px 80px #0004;
1877
+ overflow: hidden;
1878
+ }
1879
+ .qt-select-editor-header,
1880
+ .qt-select-editor-footer {
1881
+ display: flex;
1882
+ align-items: center;
1883
+ gap: 12px;
1884
+ padding: 18px 24px;
1885
+ flex-shrink: 0;
1886
+ }
1887
+ .qt-select-editor-header {
1888
+ justify-content: space-between;
1889
+ border-bottom: 1px solid var(--qt-border, #dbe1e8);
1890
+ }
1891
+ .qt-select-editor h2,
1892
+ .qt-select-editor h3,
1893
+ .qt-select-editor p {
1894
+ margin: 0 0 10px;
1895
+ }
1896
+ .qt-select-editor h2 {
1897
+ font-size: 21px;
1898
+ }
1899
+ .qt-select-editor h3 {
1900
+ font-size: 15px;
1901
+ }
1902
+ .qt-select-editor p,
1903
+ .qt-select-editor label,
1904
+ .qt-select-editor small {
1905
+ font-size: 12px;
1906
+ line-height: 1.5;
1907
+ }
1908
+ .qt-select-editor-header p {
1909
+ margin: 0;
1910
+ color: var(--qt-muted, #64748b);
1911
+ }
1912
+ .qt-select-editor-body {
1913
+ display: grid;
1914
+ grid-template-columns: 240px 240px minmax(0, 1fr);
1915
+ flex: 1;
1916
+ min-height: 0;
1917
+ }
1918
+ .qt-selected-panel,
1919
+ .qt-catalogue-panel {
1920
+ padding: 18px 14px;
1921
+ border-right: 1px solid var(--qt-border, #dbe1e8);
1922
+ overflow-y: auto;
1923
+ }
1924
+ .qt-column-workbench {
1925
+ padding: 20px 24px;
1926
+ overflow: auto;
1927
+ min-width: 0;
1928
+ }
1929
+ .qt-editor-columns {
1930
+ list-style: none;
1931
+ padding: 0;
1932
+ margin: 14px 0;
1933
+ }
1934
+ .qt-editor-columns li {
1935
+ display: flex;
1936
+ align-items: center;
1937
+ gap: 3px;
1938
+ border: 1px solid var(--qt-border, #dbe1e8);
1939
+ border-radius: 6px;
1940
+ margin-bottom: 7px;
1941
+ padding: 7px 5px;
1942
+ }
1943
+ .qt-column-name {
1944
+ border: 0;
1945
+ background: transparent;
1946
+ text-align: left;
1947
+ flex: 1;
1948
+ min-width: 0;
1949
+ overflow: hidden;
1950
+ text-overflow: ellipsis;
1951
+ cursor: pointer;
1952
+ color: inherit;
1953
+ }
1954
+ .qt-icon-btn {
1955
+ border: 0;
1956
+ background: transparent;
1957
+ color: inherit;
1958
+ padding: 3px;
1959
+ cursor: pointer;
1960
+ }
1961
+ .qt-icon-btn:disabled {
1962
+ opacity: .3;
1963
+ cursor: default;
1964
+ }
1965
+ .qt-catalogue-panel > .qt-input {
1966
+ width: 100%;
1967
+ box-sizing: border-box;
1968
+ }
1969
+ .qt-create-computed {
1970
+ width: 100%;
1971
+ margin: 10px 0;
1972
+ }
1973
+ .qt-catalogue-item {
1974
+ display: flex;
1975
+ align-items: center;
1976
+ gap: 8px;
1977
+ padding: 7px;
1978
+ border-radius: 6px;
1979
+ margin: 3px 0;
1980
+ }
1981
+ .qt-catalogue-item.is-active {
1982
+ background: var(--qt-accent-bg, #edf3ff);
1983
+ }
1984
+ .qt-catalogue-item button {
1985
+ display: flex;
1986
+ flex-direction: column;
1987
+ gap: 4px;
1988
+ text-align: left;
1989
+ border: 0;
1990
+ background: transparent;
1991
+ color: inherit;
1992
+ min-width: 0;
1993
+ cursor: pointer;
1994
+ }
1995
+ .qt-catalogue-item small {
1996
+ color: var(--qt-muted, #64748b);
1997
+ overflow-wrap: anywhere;
1998
+ }
1999
+ .qt-editor-title {
2000
+ display: flex;
2001
+ align-items: center;
2002
+ justify-content: space-between;
2003
+ gap: 10px;
2004
+ margin-bottom: 12px;
2005
+ }
2006
+ .qt-editor-label {
2007
+ display: flex;
2008
+ flex-direction: column;
2009
+ gap: 6px;
2010
+ margin-bottom: 12px;
2011
+ font-weight: 600;
2012
+ }
2013
+ .qt-type-badge {
2014
+ border-radius: 20px;
2015
+ background: #eaf3ff;
2016
+ color: #275eb2;
2017
+ padding: 4px 10px;
2018
+ font-size: 11px;
2019
+ }
2020
+ .qt-function-library {
2021
+ margin: 10px 0;
2022
+ font-size: 12px;
2023
+ }
2024
+ .qt-function-library summary {
2025
+ cursor: pointer;
2026
+ margin-bottom: 8px;
2027
+ }
2028
+ .qt-function-list {
2029
+ max-height: 190px;
2030
+ overflow: auto;
2031
+ margin: 8px 0;
2032
+ }
2033
+ .qt-function-list button {
2034
+ display: flex;
2035
+ flex-direction: column;
2036
+ text-align: left;
2037
+ gap: 3px;
2038
+ padding: 8px;
2039
+ background: transparent;
2040
+ border: 0;
2041
+ border-bottom: 1px solid var(--qt-border, #dbe1e8);
2042
+ width: 100%;
2043
+ color: inherit;
2044
+ cursor: pointer;
2045
+ }
2046
+ .qt-function-list small {
2047
+ color: var(--qt-muted, #64748b);
2048
+ }
2049
+ .qt-function-help {
2050
+ padding: 10px;
2051
+ max-width: 400px;
2052
+ font: 12px/1.5 system-ui;
2053
+ }
2054
+ .qt-definition-actions {
2055
+ display: flex;
2056
+ gap: 10px;
2057
+ margin: 12px 0 8px;
2058
+ }
2059
+ .qt-preview-controls {
2060
+ display: flex;
2061
+ align-items: center;
2062
+ gap: 10px;
2063
+ flex-wrap: wrap;
2064
+ border-top: 1px solid var(--qt-border, #dbe1e8);
2065
+ padding-top: 18px;
2066
+ margin: 18px 0 10px;
2067
+ }
2068
+ .qt-preview-controls label {
2069
+ display: flex;
2070
+ align-items: center;
2071
+ gap: 6px;
2072
+ }
2073
+ .qt-preview-controls input {
2074
+ width: 88px;
2075
+ }
2076
+ .qt-preview-controls select {
2077
+ padding: 5px;
2078
+ border: 1px solid var(--qt-border, #dbe1e8);
2079
+ border-radius: 5px;
2080
+ background: var(--qt-bg, #fff);
2081
+ color: inherit;
2082
+ }
2083
+ .qt-preview-table-wrap {
2084
+ overflow: auto;
2085
+ max-height: 400px;
2086
+ border: 1px solid var(--qt-border, #dbe1e8);
2087
+ border-radius: 6px;
2088
+ }
2089
+ .qt-preview-table {
2090
+ width: 100%;
2091
+ border-collapse: collapse;
2092
+ font-size: 12px;
2093
+ }
2094
+ .qt-preview-table th {
2095
+ text-align: left;
2096
+ position: sticky;
2097
+ top: 0;
2098
+ background: var(--qt-bg, #f8fafc);
2099
+ }
2100
+ .qt-preview-table th,
2101
+ .qt-preview-table td {
2102
+ padding: 9px 12px;
2103
+ border-bottom: 1px solid var(--qt-border, #e2e8f0);
2104
+ max-width: 260px;
2105
+ overflow: hidden;
2106
+ text-overflow: ellipsis;
2107
+ white-space: nowrap;
2108
+ }
2109
+ .qt-preview-table td:nth-last-child(-n+2),
2110
+ .qt-preview-table th:nth-last-child(-n+2) {
2111
+ text-align: right;
2112
+ font-variant-numeric: tabular-nums;
2113
+ }
2114
+ .qt-preview-sort {
2115
+ appearance: none;
2116
+ border: 0;
2117
+ padding: 0;
2118
+ color: inherit;
2119
+ background: transparent;
2120
+ font: inherit;
2121
+ font-weight: inherit;
2122
+ cursor: pointer;
2123
+ }
2124
+ .qt-preview-sort:hover,
2125
+ .qt-preview-sort:focus-visible {
2126
+ color: var(--qt-accent, #285cc4);
2127
+ }
2128
+ .qt-formula-error {
2129
+ color: var(--qt-error, #b42318);
2130
+ }
2131
+ .qt-editor-notice {
2132
+ color: #16703a;
2133
+ }
2134
+ .qt-preview-pages {
2135
+ display: flex;
2136
+ gap: 12px;
2137
+ align-items: center;
2138
+ justify-content: flex-end;
2139
+ margin-top: 12px;
2140
+ font-size: 12px;
2141
+ }
2142
+ .qt-select-editor-footer {
2143
+ border-top: 1px solid var(--qt-border, #dbe1e8);
2144
+ justify-content: flex-end;
2145
+ }
2146
+ .qt-select-editor-footer > span {
2147
+ margin-right: auto;
2148
+ font-size: 12px;
2149
+ }
2150
+ .qt-select-editor .qt-primary {
2151
+ background: #285cc4;
2152
+ color: white;
2153
+ border-color: #285cc4;
2154
+ }
2155
+ @media (max-width: 1000px) {
2156
+ .qt-select-editor-body {
2157
+ grid-template-columns: 180px 200px minmax(0, 1fr);
2158
+ }
2159
+ .qt-column-workbench {
2160
+ padding: 16px;
2161
+ }
2162
+ }
2163
+ @media (max-width: 760px) {
2164
+ .qt-select-editor-body {
2165
+ display: block;
2166
+ overflow: auto;
2167
+ }
2168
+ .qt-selected-panel,
2169
+ .qt-catalogue-panel {
2170
+ max-height: 230px;
2171
+ border-right: 0;
2172
+ border-bottom: 1px solid var(--qt-border, #dbe1e8);
2173
+ }
2174
+ .qt-column-workbench {
2175
+ overflow: visible;
2176
+ }
2177
+ .qt-select-editor-footer {
2178
+ flex-wrap: wrap;
2179
+ padding: 12px;
2180
+ }
2181
+ }
2182
+ .qt-regex-inspector {
2183
+ margin-top: 12px;
2184
+ padding: 12px;
2185
+ background: var(--qt-bg-muted, #f8fafc);
2186
+ border: 1px solid var(--qt-border, #dbe1e8);
2187
+ border-radius: 6px;
2188
+ font-size: 12px;
2189
+ }
2190
+ .qt-regex-inspector h4 {
2191
+ margin: 0 0 8px;
2192
+ }
2193
+ .qt-regex-inspector pre {
2194
+ white-space: pre-wrap;
2195
+ overflow-wrap: anywhere;
2196
+ }
2197
+ .qt-regex-inspector dl > div {
2198
+ display: flex;
2199
+ gap: 14px;
2200
+ margin: 4px 0;
2201
+ }
2202
+ .qt-regex-inspector dd {
2203
+ margin: 0;
2204
+ overflow-wrap: anywhere;
2205
+ }
2206
+ .qt-select-editor .qt-formula-hint {
2207
+ color: var(--qt-muted, #64748b);
2208
+ margin: 6px 0 12px;
2209
+ font-size: 11px;
2210
+ }
2211
+ @media (prefers-color-scheme: dark) {
2212
+ .qt-select-editor-backdrop {
2213
+ background: rgba(0, 0, 0, 0.6);
2214
+ }
2215
+ .qt-select-editor {
2216
+ color-scheme: dark;
2217
+ --qt-bg: #0d1117;
2218
+ --qt-bg-muted: #161b22;
2219
+ --qt-fg: #f0f6fc;
2220
+ --qt-text: #f0f6fc;
2221
+ --qt-muted: #8b949e;
2222
+ --qt-border: #30363d;
2223
+ --qt-border-subtle: #21262d;
2224
+ --qt-header-bg: #161b22;
2225
+ --qt-accent: #58a6ff;
2226
+ --qt-accent-bg: rgba(56, 139, 253, 0.2);
2227
+ --qt-cell-hover: rgba(88, 166, 255, 0.12);
2228
+ --qt-error: #ff7b72;
2229
+ background: var(--qt-bg);
2230
+ }
2231
+ .qt-select-editor .qt-btn:not(.qt-primary),
2232
+ .qt-select-editor .qt-input,
2233
+ .qt-select-editor textarea,
2234
+ .qt-select-editor .qt-preview-controls input,
2235
+ .qt-select-editor .qt-preview-controls select,
2236
+ .qt-select-editor .cm-editor {
2237
+ color: var(--qt-text);
2238
+ background: var(--qt-bg-muted);
2239
+ border-color: var(--qt-border);
2240
+ }
2241
+ .qt-select-editor .qt-btn:not(.qt-primary):hover:not(:disabled) {
2242
+ background: var(--qt-accent-bg);
2243
+ }
2244
+ .qt-select-editor .qt-type-badge {
2245
+ color: #c9d1d9;
2246
+ background: #1f6feb;
2247
+ }
2248
+ .qt-select-editor .qt-editor-notice {
2249
+ color: #3fb950;
2250
+ }
2251
+ }
1690
2252
  /*# sourceMappingURL=theme.css.map */