Skip to content

Commit

Permalink
Merge branch 'master' into ui-metadata-update
Browse files Browse the repository at this point in the history
  • Loading branch information
m-rgba authored Nov 22, 2024
2 parents ebce9a9 + dc4d654 commit 75b58bc
Show file tree
Hide file tree
Showing 6 changed files with 218 additions and 15 deletions.
1 change: 1 addition & 0 deletions weave-js/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
"@radix-ui/react-slider": "^1.0.4",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tabs": "^1.0.4",
"@radix-ui/react-toggle-group": "^1.1.0",
"@radix-ui/react-tooltip": "^1.0.7",
"@segment/analytics.js-core": "^4.1.11",
"@segment/analytics.js-integration-segmentio": "^4.4.7",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ import {CallScoresViewer} from './CallScoresViewer';
import {CallSummary} from './CallSummary';
import {CallTraceView, useCallFlattenedTraceTree} from './CallTraceView';
import {PaginationControls} from './PaginationControls';

// Remove this to "release" annotations
const SHOW_ANNOTATIONS = false;

export const CallPage: FC<{
entity: string;
project: string;
Expand Down Expand Up @@ -282,18 +286,20 @@ const CallPageInnerVertical: FC<{
active={showTraceTree ?? false}
onClick={onToggleTraceTree}
/>
<Button
icon="marker"
tooltip={`${showFeedbackExpand ? 'Hide' : 'Show'} feedback`}
variant="ghost"
active={showFeedbackExpand ?? false}
onClick={onToggleFeedbackExpand}
className="ml-4"
/>
{SHOW_ANNOTATIONS && (
<Button
icon="marker"
tooltip={`${showFeedbackExpand ? 'Hide' : 'Show'} feedback`}
variant="ghost"
active={showFeedbackExpand ?? false}
onClick={onToggleFeedbackExpand}
className="ml-4"
/>
)}
</Box>
</Box>
}
isRightSidebarOpen={showFeedbackExpand}
isRightSidebarOpen={showFeedbackExpand && SHOW_ANNOTATIONS}
rightSidebarContent={
<Tailwind style={{display: 'contents'}}>
<div className="flex h-full flex-col">
Expand Down
9 changes: 5 additions & 4 deletions weave-js/src/components/Panel2/PanelExpression/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,7 @@ import {
} from 'react';
import {DropdownProps} from 'semantic-ui-react';

import {useWeaveFeaturesContext} from '../../../context';
import {useWeaveContext} from '../../../context';
import {useWeaveContext, useWeaveFeaturesContext} from '../../../context';
import {usePrevious} from '../../../hookUtils';
import {useExpandedNode} from '../../../react';
import {PanelStack, usePanelStacksForType} from '../availablePanels';
Expand Down Expand Up @@ -237,8 +236,10 @@ export function usePanelExpressionState(props: PanelExpressionProps) {
? exp
: refinedExpressionLoader.result;

const {loading: isExpanding, result: expanded} =
useExpandedNode(refinedExpression);
const {loading: isExpanding, result: expanded} = useExpandedNode(
refinedExpression,
newVars
);

// Call the user's expression. If the expression contains variables that
// are no longer present in the frame, then the result is void.
Expand Down
85 changes: 85 additions & 0 deletions weave-js/src/components/ToggleButtonGroup.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import * as ToggleGroup from '@radix-ui/react-toggle-group';
import React from 'react';
import {twMerge} from 'tailwind-merge';

import {Button, ButtonSize} from './Button';
import {IconName} from './Icon';
import {Tailwind} from './Tailwind';

export type ToggleOption = {
value: string;
icon?: IconName;
};

export type ToggleButtonGroupProps = {
options: ToggleOption[];
value: string;
size: ButtonSize;
isDisabled?: boolean;
onValueChange: (value: string) => void;
};

/**
* ToggleButtonGroup component should only be rendered if options.length >= 2.
*/
export const ToggleButtonGroup = React.forwardRef<
HTMLDivElement,
ToggleButtonGroupProps
>(({options, value, size, isDisabled = false, onValueChange}, ref) => {
if (options.length < 2) {
return null; // Do not render if there are fewer than two options
}

if (!options.some(option => option.value === value)) {
console.warn(
`Warning: The provided value "${value}" is not one of the options.`
);
}

const handleValueChange = (newValue: string) => {
if (newValue !== value) {
onValueChange(newValue);
}
};
return (
<Tailwind>
<ToggleGroup.Root
type="single" // supports single selection only
value={value}
onValueChange={handleValueChange}
className="flex gap-px"
ref={ref}>
{options.map(({value: optionValue, icon}) => (
<ToggleGroup.Item
key={optionValue}
value={optionValue}
disabled={isDisabled || value === optionValue}>
<Button
icon={icon}
size={size}
className={twMerge(
size === 'small' &&
(icon ? 'gap-4 px-4 py-3 text-sm' : 'px-8 py-3 text-sm'),
size === 'medium' &&
(icon ? 'gap-5 px-7 py-4 text-base' : 'px-10 py-4 text-base'),
size === 'large' &&
(icon
? 'gap-6 px-10 py-8 text-base'
: 'px-12 py-8 text-base'),
isDisabled && 'pointer-events-none opacity-35',
value === optionValue
? 'bg-teal-300/[0.48] text-teal-600 hover:bg-teal-300/[0.48]'
: 'hover:bg-oblivion/7 bg-oblivion/5 text-moon-600 hover:text-moon-800',
'first:rounded-l-sm', // First button rounded left
'last:rounded-r-sm' // Last button rounded right
)}>
{optionValue}
</Button>
</ToggleGroup.Item>
))}
</ToggleGroup.Root>
</Tailwind>
);
});

ToggleButtonGroup.displayName = 'ToggleButtonGroup';
9 changes: 7 additions & 2 deletions weave-js/src/react.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1235,10 +1235,15 @@ export const useNodeWithServerType: typeof useNodeWithServerTypeDoNotCallMeDirec
};

export const useExpandedNode = (
node: NodeOrVoidNode
node: NodeOrVoidNode,
newVars?: {[key: string]: Node} | null
): {loading: boolean; result: NodeOrVoidNode} => {
const [error, setError] = useState();
const {stack} = usePanelContext();
const {stack: origStack} = usePanelContext();

const stack = useMemo(() => {
return pushFrame(origStack, newVars ?? {});
}, [newVars, origStack]);

let dereffedNode: NodeOrVoidNode;
({node, dereffedNode} = useRefEqualExpr(node, stack));
Expand Down
105 changes: 105 additions & 0 deletions weave-js/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3247,6 +3247,11 @@
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.0.tgz#42ef83b3b56dccad5d703ae8c42919a68798bbe2"
integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==

"@radix-ui/[email protected]":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d"
Expand Down Expand Up @@ -3281,20 +3286,40 @@
"@radix-ui/react-primitive" "1.0.3"
"@radix-ui/react-slot" "1.0.2"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.0.tgz#f18af78e46454a2360d103c2251773028b7724ed"
integrity sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==
dependencies:
"@radix-ui/react-compose-refs" "1.1.0"
"@radix-ui/react-context" "1.1.0"
"@radix-ui/react-primitive" "2.0.0"
"@radix-ui/react-slot" "1.1.0"

"@radix-ui/[email protected]":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989"
integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz#656432461fc8283d7b591dcf0d79152fae9ecc74"
integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==

"@radix-ui/[email protected]":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c"
integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.0.tgz#6df8d983546cfd1999c8512f3a8ad85a6e7fcee8"
integrity sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==

"@radix-ui/react-dialog@^1.0.5":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz#71657b1b116de6c7a0b03242d7d43e01062c7300"
Expand Down Expand Up @@ -3323,6 +3348,11 @@
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.0.tgz#a7d39855f4d077adc2a1922f9c353c5977a09cdc"
integrity sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==

"@radix-ui/[email protected]":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4"
Expand Down Expand Up @@ -3374,6 +3404,13 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-use-layout-effect" "1.0.1"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.0.tgz#de47339656594ad722eb87f94a6b25f9cffae0ed"
integrity sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==
dependencies:
"@radix-ui/react-use-layout-effect" "1.1.0"

"@radix-ui/[email protected]":
version "2.0.6"
resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.6.tgz#2c9e093c1a5d5daa87304b2a2f884e32288ae79e"
Expand Down Expand Up @@ -3441,6 +3478,13 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-slot" "1.0.2"

"@radix-ui/[email protected]":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz#fe05715faa9203a223ccc0be15dc44b9f9822884"
integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==
dependencies:
"@radix-ui/react-slot" "1.1.0"

"@radix-ui/react-radio-group@^1.1.3":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz#3197f5dcce143bcbf961471bf89320735c0212d3"
Expand Down Expand Up @@ -3474,6 +3518,21 @@
"@radix-ui/react-use-callback-ref" "1.0.1"
"@radix-ui/react-use-controllable-state" "1.0.1"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz#b30c59daf7e714c748805bfe11c76f96caaac35e"
integrity sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==
dependencies:
"@radix-ui/primitive" "1.1.0"
"@radix-ui/react-collection" "1.1.0"
"@radix-ui/react-compose-refs" "1.1.0"
"@radix-ui/react-context" "1.1.0"
"@radix-ui/react-direction" "1.1.0"
"@radix-ui/react-id" "1.1.0"
"@radix-ui/react-primitive" "2.0.0"
"@radix-ui/react-use-callback-ref" "1.1.0"
"@radix-ui/react-use-controllable-state" "1.1.0"

"@radix-ui/react-slider@^1.0.4":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.1.2.tgz#330ff2a0e1f6c19aace76590004f229a7e8fbe6c"
Expand All @@ -3500,6 +3559,13 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-compose-refs" "1.0.1"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.1.0.tgz#7c5e48c36ef5496d97b08f1357bb26ed7c714b84"
integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==
dependencies:
"@radix-ui/react-compose-refs" "1.1.0"

"@radix-ui/react-switch@^1.0.3":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.0.3.tgz#6119f16656a9eafb4424c600fdb36efa5ec5837e"
Expand Down Expand Up @@ -3529,6 +3595,28 @@
"@radix-ui/react-roving-focus" "1.0.4"
"@radix-ui/react-use-controllable-state" "1.0.1"

"@radix-ui/react-toggle-group@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.0.tgz#28714c4d1ff4961a8fd259b1feef58b4cac92f80"
integrity sha512-PpTJV68dZU2oqqgq75Uzto5o/XfOVgkrJ9rulVmfTKxWp3HfUjHE6CP/WLRR4AzPX9HWxw7vFow2me85Yu+Naw==
dependencies:
"@radix-ui/primitive" "1.1.0"
"@radix-ui/react-context" "1.1.0"
"@radix-ui/react-direction" "1.1.0"
"@radix-ui/react-primitive" "2.0.0"
"@radix-ui/react-roving-focus" "1.1.0"
"@radix-ui/react-toggle" "1.1.0"
"@radix-ui/react-use-controllable-state" "1.1.0"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.0.tgz#1f7697b82917019330a16c6f96f649f46b4606cf"
integrity sha512-gwoxaKZ0oJ4vIgzsfESBuSgJNdc0rv12VhHgcqN0TEJmmZixXG/2XpsLK8kzNWYcnaoRIEEQc0bEi3dIvdUpjw==
dependencies:
"@radix-ui/primitive" "1.1.0"
"@radix-ui/react-primitive" "2.0.0"
"@radix-ui/react-use-controllable-state" "1.1.0"

"@radix-ui/react-tooltip@^1.0.7":
version "1.0.7"
resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz#8f55070f852e7e7450cc1d9210b793d2e5a7686e"
Expand All @@ -3555,6 +3643,11 @@
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz#bce938ca413675bc937944b0d01ef6f4a6dc5bf1"
integrity sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==

"@radix-ui/[email protected]":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286"
Expand All @@ -3563,6 +3656,13 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-use-callback-ref" "1.0.1"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz#1321446857bb786917df54c0d4d084877aab04b0"
integrity sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==
dependencies:
"@radix-ui/react-use-callback-ref" "1.1.0"

"@radix-ui/[email protected]":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755"
Expand All @@ -3578,6 +3678,11 @@
dependencies:
"@babel/runtime" "^7.13.10"

"@radix-ui/[email protected]":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz#3c2c8ce04827b26a39e442ff4888d9212268bd27"
integrity sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==

"@radix-ui/[email protected]":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66"
Expand Down

0 comments on commit 75b58bc

Please sign in to comment.