@powerhousedao/design-system 6.0.0-dev.244 → 6.0.0-dev.246
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/{button-DIE3LLBZ.d.ts → button-49Walvwn.d.ts} +1 -1
- package/dist/{button-DIE3LLBZ.d.ts.map → button-49Walvwn.d.ts.map} +1 -1
- package/dist/{character-counter-BZ-4xC7Q.d.ts → character-counter-BcuG4STA.d.ts} +1 -1
- package/dist/{character-counter-BZ-4xC7Q.d.ts.map → character-counter-BcuG4STA.d.ts.map} +1 -1
- package/dist/{checkbox-base-Bh08IVG2.d.ts → checkbox-base-8xXJvAbj.d.ts} +1 -1
- package/dist/{checkbox-base-Bh08IVG2.d.ts.map → checkbox-base-8xXJvAbj.d.ts.map} +1 -1
- package/dist/{checkbox-BgS8z46p.d.ts → checkbox-dqrYEK5V.d.ts} +3 -3
- package/dist/{checkbox-BgS8z46p.d.ts.map → checkbox-dqrYEK5V.d.ts.map} +1 -1
- package/dist/{command-BSatjrNa.d.ts → command-DGaoIDsI.d.ts} +8 -8
- package/dist/{command-BSatjrNa.d.ts.map → command-DGaoIDsI.d.ts.map} +1 -1
- package/dist/connect/components/toast/toast.js +1 -1
- package/dist/connect/index.d.ts +345 -41
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +739 -200
- package/dist/connect/index.js.map +1 -1
- package/dist/{content-ZWaCzypo.d.ts → content-OpXUtrTe.d.ts} +2 -2
- package/dist/{content-ZWaCzypo.d.ts.map → content-OpXUtrTe.d.ts.map} +1 -1
- package/dist/{enum-field-CU6jo1T9.d.ts → enum-field-BTc0P4W0.d.ts} +4 -4
- package/dist/{enum-field-CU6jo1T9.d.ts.map → enum-field-BTc0P4W0.d.ts.map} +1 -1
- package/dist/{form-6Lmx7pU_.d.ts → form-B9JNvrH6.d.ts} +1 -1
- package/dist/{form-6Lmx7pU_.d.ts.map → form-B9JNvrH6.d.ts.map} +1 -1
- package/dist/{form-description-Bsurk7mm.d.ts → form-description-BpST5Ww-.d.ts} +1 -1
- package/dist/{form-description-Bsurk7mm.d.ts.map → form-description-BpST5Ww-.d.ts.map} +1 -1
- package/dist/{form-group-B092xF-f.d.ts → form-group-BauWlFkQ.d.ts} +1 -1
- package/dist/form-group-BauWlFkQ.d.ts.map +1 -0
- package/dist/{form-label-CURXUfpb.d.ts → form-label-Cz_gcj-B.d.ts} +1 -1
- package/dist/{form-label-CURXUfpb.d.ts.map → form-label-Cz_gcj-B.d.ts.map} +1 -1
- package/dist/{form-message-BeAVBzjc.d.ts → form-message-BPqNM4gG.d.ts} +1 -1
- package/dist/{form-message-BeAVBzjc.d.ts.map → form-message-BPqNM4gG.d.ts.map} +1 -1
- package/dist/{form-server-error-message-CbKMtocn.d.ts → form-server-error-message-CzMQQ8ru.d.ts} +1 -1
- package/dist/{form-server-error-message-CbKMtocn.d.ts.map → form-server-error-message-CzMQQ8ru.d.ts.map} +1 -1
- package/dist/{id-autocomplete-input-container-DefHskQg.d.ts → id-autocomplete-input-container-NIuWfCB_.d.ts} +2 -2
- package/dist/{id-autocomplete-input-container-DefHskQg.d.ts.map → id-autocomplete-input-container-NIuWfCB_.d.ts.map} +1 -1
- package/dist/{id-autocomplete-DGTfhFRw.d.ts → id-autocomplete-jkaREmPP.d.ts} +2 -2
- package/dist/{id-autocomplete-DGTfhFRw.d.ts.map → id-autocomplete-jkaREmPP.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-C5uiH5nJ.d.ts → id-autocomplete-list-Bi2IXdXg.d.ts} +2 -2
- package/dist/{id-autocomplete-list-C5uiH5nJ.d.ts.map → id-autocomplete-list-Bi2IXdXg.d.ts.map} +1 -1
- package/dist/{id-autocomplete-list-option-CyF3v8IB.d.ts → id-autocomplete-list-option-CA9HIqEh.d.ts} +2 -2
- package/dist/{id-autocomplete-list-option-CyF3v8IB.d.ts.map → id-autocomplete-list-option-CA9HIqEh.d.ts.map} +1 -1
- package/dist/{index-DoFR9kRM.d.ts → index-DtPJq-vz.d.ts} +1 -1
- package/dist/{index-DoFR9kRM.d.ts.map → index-DtPJq-vz.d.ts.map} +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{input-BMf1G8BP.d.ts → input-D11GgWGm.d.ts} +1 -1
- package/dist/{input-BMf1G8BP.d.ts.map → input-D11GgWGm.d.ts.map} +1 -1
- package/dist/{json-viewer-DD7b-PP2.d.ts → json-viewer-vWp8vOvz.d.ts} +1 -1
- package/dist/{json-viewer-DD7b-PP2.d.ts.map → json-viewer-vWp8vOvz.d.ts.map} +1 -1
- package/dist/{message-list-DDi6OrSM.d.ts → message-list-aysvo-xf.d.ts} +2 -2
- package/dist/{message-list-DDi6OrSM.d.ts.map → message-list-aysvo-xf.d.ts.map} +1 -1
- package/dist/{popover-BXlVJZZW.d.ts → popover-glLRVxPS.d.ts} +1 -1
- package/dist/{popover-BXlVJZZW.d.ts.map → popover-glLRVxPS.d.ts.map} +1 -1
- package/dist/{radio-YzIhzpRk.d.ts → radio-DZ4xl9oz.d.ts} +1 -1
- package/dist/{radio-YzIhzpRk.d.ts.map → radio-DZ4xl9oz.d.ts.map} +1 -1
- package/dist/{radio-group-D2NSfihe.d.ts → radio-group-DjJbcDzB.d.ts} +1 -1
- package/dist/{radio-group-D2NSfihe.d.ts.map → radio-group-DjJbcDzB.d.ts.map} +1 -1
- package/dist/{radio-group-field-maxYxQ6A.d.ts → radio-group-field-CY2UGZp_.d.ts} +3 -3
- package/dist/{radio-group-field-maxYxQ6A.d.ts.map → radio-group-field-CY2UGZp_.d.ts.map} +1 -1
- package/dist/{search-autocomplete-CfSjqceY.d.ts → search-autocomplete-OeZbE-VN.d.ts} +2 -2
- package/dist/{search-autocomplete-CfSjqceY.d.ts.map → search-autocomplete-OeZbE-VN.d.ts.map} +1 -1
- package/dist/{select-field-U8KSDxbg.d.ts → select-field-BClhLm83.d.ts} +2 -2
- package/dist/{select-field-U8KSDxbg.d.ts.map → select-field-BClhLm83.d.ts.map} +1 -1
- package/dist/{selected-content-iwV6vmSI.d.ts → selected-content-q33DjCYy.d.ts} +2 -2
- package/dist/{selected-content-iwV6vmSI.d.ts.map → selected-content-q33DjCYy.d.ts.map} +1 -1
- package/dist/{splitted-input-diff-DSME-KaQ.d.ts → splitted-input-diff-Ch6IKdEa.d.ts} +2 -2
- package/dist/{splitted-input-diff-DSME-KaQ.d.ts.map → splitted-input-diff-Ch6IKdEa.d.ts.map} +1 -1
- package/dist/{src-DTHkTkyy.js → src-D4e3Wkrz.js} +1 -1
- package/dist/{src-DTHkTkyy.js.map → src-D4e3Wkrz.js.map} +1 -1
- package/dist/style.css +12 -0
- package/dist/{text-field-Cxpz1D2u.d.ts → text-field-Cx-EfZP6.d.ts} +3 -3
- package/dist/{text-field-Cxpz1D2u.d.ts.map → text-field-Cx-EfZP6.d.ts.map} +1 -1
- package/dist/{text-input-t0uGOMAO.d.ts → text-input-DUddj4-C.d.ts} +3 -3
- package/dist/{text-input-t0uGOMAO.d.ts.map → text-input-DUddj4-C.d.ts.map} +1 -1
- package/dist/{text-input-diff-bO84di00.d.ts → text-input-diff-4i2zuulO.d.ts} +2 -2
- package/dist/{text-input-diff-bO84di00.d.ts.map → text-input-diff-4i2zuulO.d.ts.map} +1 -1
- package/dist/{tooltip-Db1dLIxg.d.ts → tooltip-Cf5jSzdt.d.ts} +1 -1
- package/dist/{tooltip-Db1dLIxg.d.ts.map → tooltip-Cf5jSzdt.d.ts.map} +1 -1
- package/dist/{types-BDeBOEOj.d.ts → types-9JRQnd7a.d.ts} +1 -1
- package/dist/{types-BDeBOEOj.d.ts.map → types-9JRQnd7a.d.ts.map} +1 -1
- package/dist/{types-BzoMu6VB.d.ts → types-BfmDXMrz.d.ts} +1 -1
- package/dist/{types-BzoMu6VB.d.ts.map → types-BfmDXMrz.d.ts.map} +1 -1
- package/dist/{types-BLss8ZBX.d.ts → types-tThrTH_c.d.ts} +1 -1
- package/dist/{types-BLss8ZBX.d.ts.map → types-tThrTH_c.d.ts.map} +1 -1
- package/dist/ui/components/button/button.d.ts +1 -1
- package/dist/ui/components/button/button.js +1 -1
- package/dist/ui/components/character-counter/character-counter.d.ts +1 -1
- package/dist/ui/components/checkbox/checkbox-base.d.ts +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js +1 -1
- package/dist/ui/components/checkbox/checkbox.d.ts +1 -1
- package/dist/ui/components/checkbox/checkbox.js +1 -1
- package/dist/ui/components/command/command.d.ts +1 -1
- package/dist/ui/components/command/command.js +1 -1
- package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
- package/dist/ui/components/enum-field/types.d.ts +1 -1
- package/dist/ui/components/form/form.d.ts +1 -1
- package/dist/ui/components/form-description/form-description.d.ts +1 -1
- package/dist/ui/components/form-description/form-description.js +1 -1
- package/dist/ui/components/form-group/form-group.d.ts +1 -1
- package/dist/ui/components/form-label/form-label.d.ts +1 -1
- package/dist/ui/components/form-label/form-label.js +1 -1
- package/dist/ui/components/form-message/form-message.d.ts +1 -1
- package/dist/ui/components/form-message/form-message.js +1 -1
- package/dist/ui/components/form-message/form-server-error-message.d.ts +1 -1
- package/dist/ui/components/form-message/message-list.d.ts +1 -1
- package/dist/ui/components/form-message/message-list.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
- package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
- package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
- package/dist/ui/components/index.d.ts +36 -36
- package/dist/ui/components/input/input.d.ts +1 -1
- package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
- package/dist/ui/components/input/splitted-input-diff.js +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.js +1 -1
- package/dist/ui/components/json-viewer/json-viewer.d.ts +1 -1
- package/dist/ui/components/popover/popover.d.ts +1 -1
- package/dist/ui/components/popover/popover.js +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio-group-field.js +1 -1
- package/dist/ui/components/radio-group-field/radio-group.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio.d.ts +1 -1
- package/dist/ui/components/radio-group-field/radio.js +1 -1
- package/dist/ui/components/search-autocomplete/index.d.ts +3 -3
- package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +1 -1
- package/dist/ui/components/search-autocomplete/search-autocomplete.js +1 -1
- package/dist/ui/components/search-autocomplete/types.d.ts +1 -1
- package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +1 -1
- package/dist/ui/components/select-field/content.d.ts +1 -1
- package/dist/ui/components/select-field/content.js +1 -1
- package/dist/ui/components/select-field/select-field.d.ts +1 -1
- package/dist/ui/components/select-field/select-field.js +1 -1
- package/dist/ui/components/select-field/selected-content.d.ts +1 -1
- package/dist/ui/components/select-field/selected-content.js +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +1 -1
- package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
- package/dist/ui/components/text-field/text-field.d.ts +1 -1
- package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
- package/dist/ui/components/text-input/text-input.d.ts +1 -1
- package/dist/ui/components/text-input/text-input.js +1 -1
- package/dist/ui/components/text-input/types.d.ts +1 -1
- package/dist/ui/components/tooltip/tooltip.d.ts +1 -1
- package/dist/ui/components/tooltip/tooltip.js +1 -1
- package/dist/ui/components/types.d.ts +1 -1
- package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
- package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
- package/dist/ui/index.d.ts +38 -38
- package/dist/ui/lib/date-picker.d.ts +1 -1
- package/dist/ui/lib/shared-value-transformers.d.ts +1 -1
- package/dist/ui/lib/types.d.ts +1 -1
- package/dist/ui/types.d.ts +2 -2
- package/dist/{use-id-autocomplete-BRzpIF4U.d.ts → use-id-autocomplete-BPHVmVE8.d.ts} +2 -2
- package/dist/{use-id-autocomplete-BRzpIF4U.d.ts.map → use-id-autocomplete-BPHVmVE8.d.ts.map} +1 -1
- package/dist/{use-search-autocomplete-ZLxfAC6X.d.ts → use-search-autocomplete-Xf7shCtk.d.ts} +2 -2
- package/dist/{use-search-autocomplete-ZLxfAC6X.d.ts.map → use-search-autocomplete-Xf7shCtk.d.ts.map} +1 -1
- package/dist/{value-transformer-MGhQTCdM.d.ts → value-transformer-DCiU65Qa.d.ts} +2 -2
- package/dist/{value-transformer-MGhQTCdM.d.ts.map → value-transformer-DCiU65Qa.d.ts.map} +1 -1
- package/dist/{with-field-validation-DWMigXJz.d.ts → with-field-validation-vt0l1Sp7.d.ts} +2 -2
- package/dist/{with-field-validation-DWMigXJz.d.ts.map → with-field-validation-vt0l1Sp7.d.ts.map} +1 -1
- package/package.json +5 -4
- package/dist/document-timeline-BTTeXWMa.js +0 -288
- package/dist/document-timeline-BTTeXWMa.js.map +0 -1
- package/dist/form-group-B092xF-f.d.ts.map +0 -1
- /package/dist/{index-BN8Gwmlj.d.ts → index-CWsYGvaO.d.ts} +0 -0
- /package/dist/{index-Dw5cCt-A.d.ts → index-uQcTfU6c.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"document-timeline-BTTeXWMa.js","names":["Content","Portal","Provider","Root","Trigger","twMerge","ConnectTooltip","props","children","content","open","defaultOpen","onOpenChange","className","side","sideOffset","delayDuration","rest","ConnectTooltipProvider","Icon","formatDistanceToNow","useEffect","useState","twMerge","ConnectTooltip","HDivider","props","className","timestampUtcMs","timestamp","title","subtitle","onClick","isSelected","open","setOpen","hasContent","setTimeout","formatTimestamp","isoString","Date","addSuffix","tooltipContent","handleMouseEnter","handleMouseLeave","Icon","format","parseISO","useState","twMerge","ConnectTooltip","getBarHeight","size","formatTimestamp","isoString","date","TimelineBar","onClick","className","timestampUtcMs","timestamp","additions","deletions","addSize","delSize","isSelected","open","setOpen","noChanges","addBarHeight","delBarHeight","tooltipContent","handleMouseEnter","handleMouseLeave","useCallback","useEffect","useMemo","useRef","useState","ConnectTooltipProvider","HDivider","TimelineBar","defaultTimeLineItem","id","type","addSize","delSize","DocumentTimeline","props","timeline","onItemClick","selectedItem","setSelectedItem","scrollContainerRef","handleClick","item","mergedTimelineItems","unselectedItems","selectedItems","indexSelected","findIndex","slice","renderTimelineItems","items","map","timestampUtcMs","title","subtitle","additions","deletions","unselectedContent","selectedContent","current","scrollLeft","scrollWidth"],"sources":["../src/connect/components/tooltip/tooltip.tsx","../src/connect/components/document-timeline/components/h-divider.tsx","../src/connect/components/document-timeline/components/timeline-bar.tsx","../src/connect/components/document-timeline/document-timeline.tsx"],"sourcesContent":["import type { TooltipProps } from \"@radix-ui/react-tooltip\";\nimport {\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\nimport type { ReactNode } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = TooltipProps & {\n readonly className?: string;\n readonly content: ReactNode;\n readonly side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n readonly sideOffset?: number;\n};\n\nexport function ConnectTooltip(props: Props) {\n const {\n children,\n content,\n open,\n defaultOpen,\n onOpenChange,\n className,\n side = \"top\",\n sideOffset = 5,\n delayDuration,\n ...rest\n } = props;\n\n return (\n <Root\n defaultOpen={defaultOpen}\n delayDuration={delayDuration}\n onOpenChange={onOpenChange}\n open={open}\n >\n <Trigger asChild>{children}</Trigger>\n <Portal>\n <Content\n {...rest}\n side={side}\n sideOffset={sideOffset}\n className={twMerge(\n \"shadow-tooltip z-50 rounded-lg border border-gray-200 bg-white p-2 text-xs\",\n className,\n )}\n >\n {content}\n </Content>\n </Portal>\n </Root>\n );\n}\n\nexport const ConnectTooltipProvider = Provider;\n","import { Icon } from \"#design-system\";\nimport { formatDistanceToNow } from \"date-fns\";\nimport { useEffect, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ConnectTooltip } from \"../../tooltip/tooltip.js\";\n\nexport interface HDividerProps {\n className?: string;\n timestampUtcMs?: string;\n title?: string;\n subtitle?: string;\n onClick?: () => void;\n isSelected?: boolean;\n}\n\nexport const HDivider = (props: HDividerProps) => {\n const {\n className,\n timestampUtcMs: timestamp,\n title,\n subtitle,\n onClick,\n isSelected = false,\n } = props;\n const [open, setOpen] = useState<boolean>(false);\n const hasContent = !!title || !!subtitle || !!timestamp;\n\n // Force update tooltips when props change\n useEffect(() => {\n // Force close and re-open if already open to refresh content\n if (open) {\n setOpen(false);\n setTimeout(() => hasContent && setOpen(true), 50);\n }\n }, [title, subtitle, timestamp, hasContent]);\n\n const formatTimestamp = (isoString?: string) => {\n if (!isoString) return \"\";\n try {\n return formatDistanceToNow(new Date(isoString), { addSuffix: true });\n } catch {\n return isoString;\n }\n };\n\n const tooltipContent = (\n <div className=\"flex flex-col text-xs\">\n {!!title && <div>{title}</div>}\n {!!subtitle && <div className=\"text-gray-300\">{subtitle}</div>}\n {!!timestamp && <div>{formatTimestamp(timestamp)}</div>}\n </div>\n );\n\n const handleMouseEnter = () => {\n if (hasContent) {\n setOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n setOpen(false);\n };\n\n return (\n <div\n className=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isSelected && (\n <Icon\n name=\"TimelineCaret\"\n color=\"#4EA9FF\"\n size={10}\n className=\"absolute top-[-11px] z-40\"\n />\n )}\n <ConnectTooltip\n className=\"rounded-md bg-gray-900 text-white\"\n content={tooltipContent}\n open={open && hasContent}\n onOpenChange={setOpen}\n delayDuration={0}\n side=\"bottom\"\n sideOffset={5}\n >\n <div\n className={twMerge(\n \"mx-0.5 flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300\",\n isSelected && \"bg-blue-300\",\n className,\n )}\n onClick={onClick}\n data-title={title}\n data-subtitle={subtitle}\n data-timestamp={timestamp}\n >\n <div className=\"h-0.5 w-1 rounded-full bg-gray-500\" />\n </div>\n </ConnectTooltip>\n </div>\n );\n};\n","import { Icon } from \"#design-system\";\nimport type { TimelineBarItem } from \"@powerhousedao/reactor-browser\";\nimport { format, parseISO } from \"date-fns\";\nimport { useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { ConnectTooltip } from \"../../tooltip/tooltip.js\";\n\nexport interface TimelineBarProps extends Omit<\n TimelineBarItem,\n \"id\" | \"type\" | \"revision\" | \"startDate\" | \"endDate\"\n> {\n readonly className?: string;\n onClick?: () => void;\n isSelected?: boolean;\n}\n\nconst getBarHeight = (size = 0) => {\n switch (true) {\n case size <= 0:\n return \"h-[1px]\";\n case size === 1:\n return \"h-[3px]\";\n case size === 2:\n return \"h-[6px]\";\n case size === 3:\n return \"h-[9px]\";\n case size >= 4:\n return \"h-[12px]\";\n default:\n return \"h-[1px]\";\n }\n};\n\nconst formatTimestamp = (isoString?: string) => {\n if (!isoString) return \"\";\n try {\n const date = parseISO(isoString);\n return format(date, \"HH:mm, dd, MMMM\");\n } catch {\n return isoString;\n }\n};\n\nexport const TimelineBar: React.FC<TimelineBarProps> = ({\n onClick,\n className,\n timestampUtcMs: timestamp,\n additions,\n deletions,\n addSize = 0,\n delSize = 0,\n isSelected = false,\n}) => {\n const [open, setOpen] = useState<boolean>(false);\n const noChanges = addSize === 0 && delSize === 0;\n\n const addBarHeight = getBarHeight(addSize);\n const delBarHeight = getBarHeight(delSize);\n\n const tooltipContent = (\n <div className=\"flex flex-col text-xs\">\n <div>{formatTimestamp(timestamp)}</div>\n <div className=\"text-green-900\">{`${additions} additions +`}</div>\n <div className=\"text-red-700\">{`${deletions} deletions -`}</div>\n </div>\n );\n\n const handleMouseEnter = () => {\n if (!noChanges) {\n setOpen(true);\n }\n };\n\n const handleMouseLeave = () => {\n setOpen(false);\n };\n\n return (\n <div\n className=\"relative\"\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n >\n {isSelected && (\n <Icon\n name=\"TimelineCaret\"\n color=\"#4EA9FF\"\n size={10}\n className=\"absolute left-[-2px] top-[-11px] z-40\"\n />\n )}\n {noChanges ? (\n <div\n className={twMerge(\n \"flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300\",\n className,\n )}\n data-timestamp={timestamp}\n onClick={onClick}\n >\n <div className=\"size-[3px] rounded-full bg-gray-500\" />\n </div>\n ) : (\n <ConnectTooltip\n className=\"rounded-md bg-gray-900 text-white\"\n content={tooltipContent}\n open={open}\n onOpenChange={setOpen}\n delayDuration={0}\n side=\"bottom\"\n sideOffset={5}\n >\n <div\n className={twMerge(\n \"flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300\",\n className,\n isSelected && \"bg-blue-300\",\n )}\n data-timestamp={timestamp}\n onClick={onClick}\n >\n <div className=\"flex h-3 w-0.5 items-end\">\n <div\n className={twMerge(\n \"h-3 w-0.5 rounded-t-full bg-green-600\",\n addBarHeight,\n )}\n ></div>\n </div>\n <div className=\"flex h-3 w-0.5 items-start\">\n <div\n className={twMerge(\n \"h-3 w-0.5 rounded-b-full bg-red-600\",\n delBarHeight,\n )}\n ></div>\n </div>\n </div>\n </ConnectTooltip>\n )}\n </div>\n );\n};\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { ConnectTooltipProvider } from \"../tooltip/tooltip.js\";\nimport { HDivider } from \"./components/h-divider.js\";\nimport { TimelineBar } from \"./components/timeline-bar.js\";\n\nexport type TimelineBarItem = {\n id: string;\n type: \"bar\";\n addSize?: 0 | 1 | 2 | 3 | 4;\n delSize?: 0 | 1 | 2 | 3 | 4;\n timestampUtcMs?: string;\n additions?: number;\n deletions?: number;\n revision?: number;\n startDate?: Date;\n endDate?: Date;\n};\n\nexport type TimelineDividerItem = {\n id: string;\n type: \"divider\";\n timestampUtcMs?: string;\n title?: string;\n subtitle?: string;\n revision?: number;\n startDate?: Date;\n endDate?: Date;\n};\n\nexport type TimelineItem = TimelineBarItem | TimelineDividerItem;\n\nexport interface DocumentTimelineProps {\n onItemClick?: (item: TimelineItem | null) => void;\n timeline?: Array<TimelineItem>;\n}\n\nconst defaultTimeLineItem: TimelineBarItem = {\n id: \"default\",\n type: \"bar\",\n addSize: 0,\n delSize: 0,\n};\n\nexport const DocumentTimeline = (props: DocumentTimelineProps) => {\n const { timeline = [], onItemClick } = props;\n const [selectedItem, setSelectedItem] = useState<null | string>(null);\n const scrollContainerRef = useRef<HTMLDivElement>(null);\n\n const handleClick = (item: TimelineItem) => {\n if (item.id === selectedItem || item.id === defaultTimeLineItem.id) {\n onItemClick?.(null);\n setSelectedItem(null);\n } else {\n onItemClick?.(item);\n setSelectedItem(item.id);\n }\n };\n\n const mergedTimelineItems = [...timeline, defaultTimeLineItem];\n const [unselectedItems, selectedItems] = useMemo(() => {\n const indexSelected = mergedTimelineItems.findIndex(\n (item) => item.id === selectedItem,\n );\n\n return indexSelected === -1\n ? [mergedTimelineItems, []]\n : [\n mergedTimelineItems.slice(0, indexSelected),\n mergedTimelineItems.slice(indexSelected),\n ];\n }, [mergedTimelineItems, selectedItem]);\n\n const renderTimelineItems = useCallback(\n (items: Array<TimelineBarItem | TimelineDividerItem>) => {\n return items.map((item) => {\n if (item.type === \"divider\") {\n const { timestampUtcMs, title, subtitle } = item;\n return (\n <HDivider\n key={item.id}\n timestampUtcMs={timestampUtcMs}\n title={title}\n subtitle={subtitle}\n onClick={() => handleClick(item)}\n isSelected={item.id === selectedItem}\n />\n );\n }\n\n return (\n <TimelineBar\n key={item.id}\n timestampUtcMs={item.timestampUtcMs}\n addSize={item.addSize}\n delSize={item.delSize}\n additions={item.additions}\n deletions={item.deletions}\n isSelected={item.id === selectedItem}\n onClick={() => handleClick(item)}\n />\n );\n });\n },\n [handleClick, selectedItem],\n );\n\n const unselectedContent = useMemo(\n () => renderTimelineItems(unselectedItems),\n [unselectedItems, renderTimelineItems],\n );\n\n const selectedContent = useMemo(\n () => renderTimelineItems(selectedItems),\n [selectedItems, renderTimelineItems],\n );\n\n // Scroll to the end by default\n useEffect(() => {\n if (scrollContainerRef.current) {\n scrollContainerRef.current.scrollLeft =\n scrollContainerRef.current.scrollWidth;\n }\n }, []);\n\n return (\n <ConnectTooltipProvider delayDuration={0} skipDelayDuration={0}>\n <div className=\"relative h-[36px] w-full\">\n <div className=\"absolute left-[0px] z-[20] h-[17px] w-[6px] bg-white\">\n <div className=\"mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-slate-50\" />\n </div>\n\n <div className=\"absolute right-[0px] top-[11px] z-[20] h-[6px] w-[6px] bg-white\">\n <div className=\"h-[6px] w-[6px] rounded-tr-md bg-slate-50\" />\n </div>\n <div className=\"absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-slate-50\" />\n\n <div className=\"absolute inset-x-0 bottom-0 h-[36px]\">\n <div\n ref={scrollContainerRef}\n className=\"h-full overflow-x-auto rounded-md\"\n >\n <div className=\"ml-auto flex h-[36px] w-max items-end px-2 pb-0\">\n <div className=\"flex\">{unselectedContent}</div>\n <div className=\"flex rounded-sm bg-blue-200\">\n {selectedContent}\n </div>\n </div>\n </div>\n </div>\n <div className=\"pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-slate-50\" />\n <div className=\"pointer-events-none absolute bottom-0 right-0 z-10 h-[25px] w-2 rounded-r-md bg-slate-50\" />\n </div>\n </ConnectTooltipProvider>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"form-group-B092xF-f.d.ts","names":[],"sources":["../src/ui/components/form-group/form-group.tsx"],"mappings":";cAAa,SAAA,EAAW,KAAA,CAAM,EAAA,CAAG,KAAA,CAAM,iBAAA"}
|
|
File without changes
|
|
File without changes
|