diff --git a/CHANGELOG.md b/CHANGELOG.md index 7549c4d..4505fb0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ This project adheres to [Semantic Versioning](https://semver.org/). ### Fixed +- **Return-only generic no longer strands an orphan record** (#191) — a function whose type parameter + appears only in its return (`jsonBoxed(): BoxOf`) has that return flagged (it can't round-trip), + but the record `classify` registered while building the discarded return was left in the output as an + unreferenced type. A post-traversal reachability sweep now drops any registered type unreachable from + the emitted roots, and a concrete sibling reclaims the clean base name (`readBox(): BoxOf` → + `boxOf`, not `boxOfV1hnll`). Key-based, so a late-bound keyed ref never loses a live type. + - **Large `@unboxed` unions no longer leak every member into the public type name** (#190) — a named union with more than four runtime members now follows its upstream alias (`StatusCode` → `statusCode`) instead of producing Hono's 60-member `v100OrV101Or…OrV511OrV1`. The exact previous diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendChart.res index f0e4826..42b7484 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendChart.res @@ -1,7 +1,7 @@ type props<'a, 'b, 'c, 't7> = { ref?: React.ref>>, allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'t7>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendDesignSystemBindings.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendDesignSystemBindings.res index 279dc68..72b922a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendDesignSystemBindings.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/BlendDesignSystemBindings.res @@ -11,7 +11,7 @@ @module("@juspay/blend-design-system") external addSnackbar: (SnackbarTypes.addToastOptions) => CommonTypes.stringOrNumber = "addSnackbar" @module("@juspay/blend-design-system") external getSnackbarTokens: (TokensTypes.foundationTokenType) => SnackbarTypes.responsiveSnackbarTokens = "getSnackbarTokens" @module("@juspay/blend-design-system") external getPopoverTokens: (TokensTypes.foundationTokenType) => PopoverTypes.responsivePopoverTokens = "getPopoverTokens" -@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => HighchartsSharedTypes.responsiveChartTokens = "getChartTokens" +@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => ChartsTypes.responsiveChartTokens = "getChartTokens" @module("@juspay/blend-design-system") external blendChartBaseInstance: InstanceTypes.highchartsModule = "BlendChartBaseInstance" @module("@juspay/blend-design-system") external getCalendarToken: (TokensTypes.foundationTokenType) => DateRangePickerTypes.responsiveCalendarTokens = "getCalendarToken" @module("@juspay/blend-design-system") external getStatCardToken: (TokensTypes.foundationTokenType) => StatCardTypes.responsiveStatCardTokens = "getStatCardToken" diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartLegends.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartLegends.res index 9c6623b..b5d1e4a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartLegends.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartLegends.res @@ -1,7 +1,7 @@ type props = { chartContainerRef: React.ref>, keys: array, - colors: array, + colors: array, handleLegendClick: string => unit, handleLegendEnter: string => unit, handleLegendLeave: unit => unit, @@ -11,8 +11,8 @@ type props = { activeKeys: Nullable.t>, stacked?: bool, isSmallScreen?: bool, - stackedLegendsData?: array, - legends?: array, + stackedLegendsData?: array, + legends?: array, } @module("@juspay/blend-design-system") diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartV2.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartV2.res index b48295c..bf43506 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartV2.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartV2.res @@ -1,6 +1,6 @@ type props<'a, 'b, 'c> = { allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'a>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/Charts.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/Charts.res index aafdcae..33578e9 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/Charts.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/Charts.res @@ -1,28 +1,28 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data: array, - colors?: array, + chartType?: ChartsTypes.chartType, + data: array, + colors?: array, slot1?: React.element, slot2?: React.element, slot3?: React.element, - legendPosition?: HighchartsSharedTypes.chartLegendPosition, + legendPosition?: ChartsTypes.chartLegendPosition, chartHeaderSlot: React.element, stackedLegends?: bool, - stackedLegendsData?: array, + stackedLegendsData?: array, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, - noData?: HighchartsSharedTypes.noDataProps, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, + noData?: ChartsTypes.noDataProps, height?: float, showHeader?: bool, showCollapseIcon?: bool, isExpanded?: bool, onExpandedChange?: bool => unit, chartName?: string, - skeleton?: HighchartsSharedTypes.chartsSkeletonProps, - legends?: array, - @as("CustomizedDot") customizedDot?: HighchartsSharedTypes.dotItemDotProps => React.element, + skeleton?: ChartsTypes.chartsSkeletonProps, + legends?: array, + @as("CustomizedDot") customizedDot?: ChartsTypes.dotItemDotProps => React.element, lineSeriesKeys?: array, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartsTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartsTypes.res new file mode 100644 index 0000000..66ee086 --- /dev/null +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/ChartsTypes.res @@ -0,0 +1,357 @@ +type chartType = + | @as("line") Line + | @as("bar") Bar + | @as("lineBar") LineBar + | @as("pie") Pie + | @as("scatter") Scatter + | @as("area") Area + | @as("sankey") Sankey +type axisType = + | @as("dateTime") DateTime + | @as("currency") Currency + | @as("percentage") Percentage + | @as("number") Number +type chartLegendPosition = + | @as("top") Top + | @as("right") Right +type legendsChangeType = + | @as("increase") Increase + | @as("decrease") Decrease +type chartsXAxisTitleOptionsPosition3d = + | @as("chart") Chart + | @as("flap") Flap + | @as("offset") Offset + | @as("ortho") Ortho +type chartsSeriesSetState = + | @as("") Value + | @as("normal") Normal + | @as("select") Select + | @as("hover") Hover + | @as("inactive") Inactive +type chartsPointSetState = + | @as("") Value + | @as("normal") Normal + | @as("select") Select + | @as("hover") Hover + | @as("inactive") Inactive +type chartsSeriesArcdiagramOptionsLinkColorMode = + | @as("from") From + | @as("to") To + | @as("gradient") Gradient +type chartsBorderRadiusOptionsObjectScope = + | @as("point") PointObjectScope + | @as("stack") Stack +type chartsBorderRadiusOptionsObjectWhere = + | @as("end") End + | @as("all") All +type chartsPlotOrganizationLinkOptionsType = + | @as("straight") Straight + | @as("curved") Curved + | @as("orthogonal") Orthogonal +type chartsSeriesOrganizationOptionsNodeAlignment = + | @as("center") Center + | @as("bottom") Bottom + | @as("top") Top +type chartsBlendChartPropsConstructorType = + | @as("color") Color + | @as("end") End + | @as("start") Start + | @as("width") Width + | @as("height") Height + | @as("animate") Animate + | @as("circle") Circle + | @as("rect") Rect + | @as("stop") Stop + | @as("find") Find + | @as("backgroundSize") BackgroundSize + | @as("wrap") Wrap + | @as("open") Open + | @as("chart") Chart + | @as("offset") Offset + | @as("x") X + | @as("y") Y + | @as("arc") Arc + | @as("callout") Callout + | @as("diamond") Diamond + | @as("triangle") Triangle + | @as("format") Format + | @as("addEvent") AddEvent + | @as("animObject") AnimObject + | @as("arrayMax") ArrayMax + | @as("arrayMin") ArrayMin + | @as("attr") Attr + | @as("correctFloat") CorrectFloat + | @as("createElement") CreateElement + | @as("css") Css + | @as("dateFormat") DateFormat + | @as("defined") Defined + | @as("destroyObjectProperties") DestroyObjectProperties + | @as("discardElement") DiscardElement + | @as("erase") Erase + | @as("error") Error + | @as("extend") Extend + | @as("extendClass") ExtendClass + | @as("fireEvent") FireEvent + | @as("getDeferredAnimation") GetDeferredAnimation + | @as("getMagnitude") GetMagnitude + | @as("getOptions") GetOptions + | @as("getStyle") GetStyle + | @as("isArray") IsArray + | @as("isClass") IsClass + | @as("isDOMElement") IsDOMElement + | @as("isFunction") IsFunction + | @as("isNumber") IsNumber + | @as("isObject") IsObject + | @as("isString") IsString + | @as("merge") Merge + | @as("normalizeTickInterval") NormalizeTickInterval + | @as("numberFormat") NumberFormat + | @as("objectEach") ObjectEach + | @as("pad") Pad + | @as("pick") Pick + | @as("relativeLength") RelativeLength + | @as("removeEvent") RemoveEvent + | @as("seriesType") SeriesType + | @as("setAnimation") SetAnimation + | @as("setOptions") SetOptions + | @as("splat") Splat + | @as("stableSort") StableSort + | @as("syncTimeout") SyncTimeout + | @as("uniqueKey") UniqueKey + | @as("useSerialIds") UseSerialIds + | @as("centerImage") CenterImage + | @as("dateTimeFormat") DateTimeFormat + | @as("deleteRows") DeleteRows + | @as("getColumn") GetColumn + | @as("getColumns") GetColumns + | @as("getLogTickPositions") GetLogTickPositions + | @as("getModified") GetModified + | @as("getRendererType") GetRendererType + | @as("getRow") GetRow + | @as("modifyTree") ModifyTree + | @as("registerRendererType") RegisterRendererType + | @as("registerSeriesType") RegisterSeriesType + | @as("roundedRect") RoundedRect + | @as("setColumn") SetColumn + | @as("setColumns") SetColumns + | @as("setRow") SetRow + | @as("str2dtf") Str2dtf + | @as("triangleDown") TriangleDown + | @as("unescapeEntities") UnescapeEntities + | @as("Annotation") Annotation + | @as("AnnotationControlPoint") AnnotationControlPoint + | @as("AST") AST + | @as("Axis") Axis + | @as("Chart") Chart2 + | @as("Color") Color2 + | @as("DataTable") DataTable + | @as("DataTableCore") DataTableCore + | @as("Legend") Legend + | @as("PlotLineOrBand") PlotLineOrBand + | @as("Point") PointConstructorType + | @as("Pointer") Pointer + | @as("Series") Series + | @as("StackItem") StackItem + | @as("SVGElement") SVGElement + | @as("SVGLabel") SVGLabel + | @as("SVGRenderer") SVGRenderer + | @as("Tick") Tick + | @as("Time") Time + | @as("Tooltip") Tooltip + | @as("charts") Charts + | @as("dateFormats") DateFormats + | @as("defaultOptions") DefaultOptions + | @as("theme") Theme + | @as("anchorX") AnchorX + | @as("anchorY") AnchorY + | @as("clockwise") Clockwise + | @as("context") Context + | @as("innerR") InnerR + | @as("longArc") LongArc + | @as("r") R +type chartsDataPointPrimaryConfig = { + label: string, + val: float, +} +type chartsDataPointAuxConfig = { + label: string, + val: float, + @as("type") type_?: axisType, + dateOnly?: bool, + smart?: bool, + timeZone?: string, + hour12?: bool, +} +type chartsDataPointErrorErrorDataConfig = { + label: string, + value: string, +} +type chartsDataPointErrorConfig = { + title: string, + errorData?: array, +} +type dataPoint = { + primary: chartsDataPointPrimaryConfig, + aux?: array, + error?: chartsDataPointErrorConfig, +} +type newNestedDataPoint = { + name: string, + data: Dict.t, +} +type chartsColorsConfig = { + key: string, + color: string, +} +type stackedLegendsDataPoint = { + value: float, + delta: float, + changeType: legendsChangeType, +} +type chartsTickPropsPayloadConfig = { + value: CommonTypes.stringOrNumber, + index?: int, + coordinate?: float, +} +type tickProps = { + x?: float, + y?: float, + payload?: chartsTickPropsPayloadConfig, +} +@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" +type axisConfig = { + label?: string, + showLabel?: bool, + interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, + show?: bool, + @as("type") type_?: axisType, + tickFormatter?: CommonTypes.stringOrNumber => string, + customTick?: React.component, + dateOnly?: bool, + useUTC?: bool, + formatString?: string, + timeOnly?: bool, + showYear?: bool, + ticks?: array, + autoConsistentTicks?: bool, + maxTicks?: float, + smartDateTimeFormat?: bool, +} +type chartsTooltipConfigPositionConfig = { + x?: float, + y?: float, +} +type chartsTooltipConfigAllowEscapeViewBoxConfig = { + x?: bool, + y?: bool, +} +type tooltipConfig = { + position?: chartsTooltipConfigPositionConfig, + allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, +} +type noDataProps = { + title?: string, + subtitle?: string, + slot?: React.element, + button?: ButtonTypes.buttonProps, +} +type chartsSkeletonProps = { + show: bool, + variant: SkeletonTypes.skeletonVariant, +} +type chartsLegendsConfig = { + title: string, + total?: string, +} +type chartsDotItemDotPropsPayloadConfig = { + name?: string, +} +type dotItemDotProps = { + cx?: float, + cy?: float, + value?: float, + payload?: chartsDotItemDotPropsPayloadConfig, +} +type chartsPayloadConfig = { + name: string, + id?: string, + color?: string, + value?: float, +} +type chartsSankeyTooltipDataPayloadConfig = { + name?: string, + value?: float, + source?: CommonTypes.stringOrNumber, + target?: CommonTypes.stringOrNumber, + sourceName?: string, + targetName?: string, + color?: string, + hoverColor?: string, +} +type sankeyTooltipData = { + payload: chartsSankeyTooltipDataPayloadConfig, +} +type sankeyLink = { + source: CommonTypes.stringOrNumber, + target: CommonTypes.stringOrNumber, + value: float, + color?: string, + hoverColor?: string, +} +type chartsChartTokensTypeHeaderPaddingConfig = { + x: string, + y: string, +} +type chartsChartTokensTypeHeaderSlotsConfig = { + gap: string, +} +type chartsChartTokensTypeHeaderConfig = { + padding: chartsChartTokensTypeHeaderPaddingConfig, + backgroundColor: string, + borderBottom: string, + borderRadius: string, + slots: chartsChartTokensTypeHeaderSlotsConfig, +} +type chartsChartTokensTypeContentLegendDropdownConfig = { + maxHeight: string, +} +type chartsChartTokensTypeContentLegendItemColorConfig = { + default: string, + hover: string, + active: string, + total: string, +} +type chartsChartTokensTypeContentLegendItemConfig = { + gap: string, + color: chartsChartTokensTypeContentLegendItemColorConfig, + fontSize: string, + fontWeight: string, +} +type chartsChartTokensTypeContentLegendConfig = { + gap: string, + dropdown: chartsChartTokensTypeContentLegendDropdownConfig, + item: chartsChartTokensTypeContentLegendItemConfig, +} +type chartsChartTokensTypeContentPaddingConfig = { + top: string, + right: string, + bottom: string, + left: string, +} +type chartsChartTokensTypeContentConfig = { + legend: chartsChartTokensTypeContentLegendConfig, + padding: chartsChartTokensTypeContentPaddingConfig, + gap: string, + backgroundColor: string, +} +type chartTokensType = { + border: string, + borderRadius: string, + header: chartsChartTokensTypeHeaderConfig, + content: chartsChartTokensTypeContentConfig, +} +type responsiveChartTokens = { + sm: chartTokensType, + lg: chartTokensType, +} +@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/CoreChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/CoreChart.res index 3f6922c..f6aafe7 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/CoreChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/CoreChart.res @@ -1,11 +1,11 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data: array, - colors?: array, + chartType?: ChartsTypes.chartType, + data: array, + colors?: array, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, height?: CommonTypes.stringOrNumber, width?: CommonTypes.stringOrNumber, isSmallScreen?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/HighchartsSharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/HighchartsSharedTypes.res index 56ea880..45597ba 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/HighchartsSharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/HighchartsSharedTypes.res @@ -1,24 +1,5 @@ @@warning("-30") -type chartType = - | @as("line") Line - | @as("bar") Bar - | @as("lineBar") LineBar - | @as("pie") Pie - | @as("scatter") Scatter - | @as("area") Area - | @as("sankey") Sankey -type axisType = - | @as("dateTime") DateTime - | @as("currency") Currency - | @as("percentage") Percentage - | @as("number") Number -type chartLegendPosition = - | @as("top") Top - | @as("right") Right -type legendsChangeType = - | @as("increase") Increase - | @as("decrease") Decrease type dashStyleValue = | @as("Dash") Dash | @as("DashDot") DashDot @@ -41,7 +22,7 @@ type verticalAlignValue = | @as("middle") Middle type optionsGridLineInterpolationValue = | @as("circle") Circle - | @as("polygon") PolygonInterpolationValue + | @as("polygon") Polygon type optionsOverflowValue = | @as("justify") Justify | @as("allow") Allow @@ -63,23 +44,12 @@ type axisTitleAlignValue = | @as("middle") Middle | @as("high") High | @as("low") Low -type chartsXAxisTitleOptionsPosition3d = - | @as("chart") Chart - | @as("flap") Flap - | @as("offset") Offset - | @as("ortho") Ortho type axisTypeValue = | @as("treegrid") Treegrid | @as("linear") Linear | @as("category") Category | @as("datetime") Datetime | @as("logarithmic") Logarithmic -type chartsSeriesSetState = - | @as("") ValueSeriesSetState - | @as("normal") Normal - | @as("select") Select - | @as("hover") Hover - | @as("inactive") Inactive type svgPathCommand = | @as("a") A | @as("q") Q @@ -101,12 +71,6 @@ type svgPathCommand = | @as("T") T2 | @as("V") V2 | @as("Z") Z2 -type chartsPointSetState = - | @as("") ValuePointSetState - | @as("normal") Normal - | @as("select") Select - | @as("hover") Hover - | @as("inactive") Inactive type bubbleSizeByValue = | @as("width") Width | @as("area") Area @@ -137,7 +101,7 @@ type cursorValue = | @as("ns-resize") NsResize | @as("nw-resize") NwResize | @as("nwse-resize") NwseResize - | @as("pointer") PointerCursorValue + | @as("pointer") Pointer | @as("row-resize") RowResize | @as("s-resize") SResize | @as("se-resize") SeResize @@ -229,7 +193,7 @@ type optionsFindNearestPointByValue = | @as("x") X | @as("xy") Xy type optionsGapUnitValue = - | @as("value") ValueOptionsGapUnit + | @as("value") ValueGapUnit | @as("relative") Relative type optionsLegendSymbolValue = | @as("rectangle") Rectangle @@ -247,10 +211,6 @@ type optionsRelativeToValue = type optionsCompareValue = | @as("value") ValueOptionsCompare | @as("percent") Percent -type chartsSeriesArcdiagramOptionsLinkColorMode = - | @as("from") From - | @as("to") To - | @as("gradient") Gradient type optionsPointIntervalUnitValue = | @as("year") Year | @as("month") Month @@ -261,12 +221,6 @@ type optionsStackingValue = | @as("null") Null | @as("overlap") Overlap | @as("stream") Stream -type chartsBorderRadiusOptionsObjectScope = - | @as("point") PointObjectScope - | @as("stack") Stack -type chartsBorderRadiusOptionsObjectWhere = - | @as("end") End - | @as("all") All type optionsPointValKeyValue = | @as("open") Open | @as("high") High @@ -300,14 +254,6 @@ type organizationHangingIndentTranslationValue = | @as("inherit") Inherit | @as("cumulative") Cumulative | @as("shrink") Shrink -type chartsPlotOrganizationLinkOptionsType = - | @as("straight") Straight - | @as("curved") Curved - | @as("orthogonal") Orthogonal -type chartsSeriesOrganizationOptionsNodeAlignment = - | @as("center") Center - | @as("bottom") Bottom - | @as("top") Top type seriesOrganizationNodesLayoutValue = | @as("normal") Normal | @as("hanging") Hanging @@ -392,11 +338,6 @@ type optionsDropdownValue = | @as("always") Always | @as("never") Never | @as("responsive") Responsive -type mapGeometryTypeValue = - | @as("LineString") LineString - | @as("MultiLineString") MultiLineString - | @as("MultiPolygon") MultiPolygon - | @as("Polygon") PolygonTypeValue type synthPatchOscillatorType = | @as("pulse") Pulse | @as("square") Square @@ -409,7 +350,7 @@ type optionsMapFunctionValue = | @as("logarithmic") Logarithmic type optionsWithinValue = | @as("chart") Chart - | @as("series") SeriesWithinValue + | @as("series") Series | @as("xAxis") XAxis | @as("yAxis") YAxis type optionsValueMapFunctionValue = @@ -432,253 +373,7 @@ type symbolKeyValue = | @as("callout") Callout | @as("diamond") Diamond | @as("triangle") Triangle - | @as("triangle-down") TriangleDownKeyValue -type chartsBlendChartPropsConstructorType = - | @as("color") Color - | @as("end") End - | @as("start") Start - | @as("width") Width - | @as("height") Height - | @as("animate") Animate - | @as("circle") Circle - | @as("rect") Rect - | @as("stop") Stop - | @as("find") Find - | @as("backgroundSize") BackgroundSize - | @as("wrap") Wrap - | @as("open") Open - | @as("chart") Chart - | @as("offset") Offset - | @as("x") X - | @as("y") Y - | @as("arc") Arc - | @as("callout") Callout - | @as("diamond") Diamond - | @as("triangle") Triangle - | @as("format") Format - | @as("addEvent") AddEvent - | @as("animObject") AnimObject - | @as("arrayMax") ArrayMax - | @as("arrayMin") ArrayMin - | @as("attr") Attr - | @as("correctFloat") CorrectFloat - | @as("createElement") CreateElement - | @as("css") Css - | @as("dateFormat") DateFormat - | @as("defined") Defined - | @as("destroyObjectProperties") DestroyObjectProperties - | @as("discardElement") DiscardElement - | @as("erase") Erase - | @as("error") Error - | @as("extend") Extend - | @as("extendClass") ExtendClass - | @as("fireEvent") FireEvent - | @as("getDeferredAnimation") GetDeferredAnimation - | @as("getMagnitude") GetMagnitude - | @as("getOptions") GetOptions - | @as("getStyle") GetStyle - | @as("isArray") IsArray - | @as("isClass") IsClass - | @as("isDOMElement") IsDOMElement - | @as("isFunction") IsFunction - | @as("isNumber") IsNumber - | @as("isObject") IsObject - | @as("isString") IsString - | @as("merge") Merge - | @as("normalizeTickInterval") NormalizeTickInterval - | @as("numberFormat") NumberFormat - | @as("objectEach") ObjectEach - | @as("pad") Pad - | @as("pick") Pick - | @as("relativeLength") RelativeLength - | @as("removeEvent") RemoveEvent - | @as("seriesType") SeriesType - | @as("setAnimation") SetAnimation - | @as("setOptions") SetOptions - | @as("splat") Splat - | @as("stableSort") StableSort - | @as("syncTimeout") SyncTimeout - | @as("uniqueKey") UniqueKey - | @as("useSerialIds") UseSerialIds - | @as("centerImage") CenterImage - | @as("dateTimeFormat") DateTimeFormat - | @as("deleteRows") DeleteRows - | @as("getColumn") GetColumn - | @as("getColumns") GetColumns - | @as("getLogTickPositions") GetLogTickPositions - | @as("getModified") GetModified - | @as("getRendererType") GetRendererType - | @as("getRow") GetRow - | @as("modifyTree") ModifyTree - | @as("registerRendererType") RegisterRendererType - | @as("registerSeriesType") RegisterSeriesType - | @as("roundedRect") RoundedRect - | @as("setColumn") SetColumn - | @as("setColumns") SetColumns - | @as("setRow") SetRow - | @as("str2dtf") Str2dtf - | @as("triangleDown") TriangleDownConstructorType - | @as("unescapeEntities") UnescapeEntities - | @as("Annotation") Annotation - | @as("AnnotationControlPoint") AnnotationControlPoint - | @as("AST") AST - | @as("Axis") Axis - | @as("Chart") Chart2 - | @as("Color") Color2 - | @as("DataTable") DataTable - | @as("DataTableCore") DataTableCore - | @as("Legend") Legend - | @as("PlotLineOrBand") PlotLineOrBand - | @as("Point") PointConstructorType - | @as("Pointer") PointerConstructorType - | @as("Series") SeriesConstructorType - | @as("StackItem") StackItem - | @as("SVGElement") SVGElement - | @as("SVGLabel") SVGLabel - | @as("SVGRenderer") SVGRenderer - | @as("Tick") Tick - | @as("Time") Time - | @as("Tooltip") Tooltip - | @as("charts") Charts - | @as("dateFormats") DateFormats - | @as("defaultOptions") DefaultOptions - | @as("theme") Theme - | @as("anchorX") AnchorX - | @as("anchorY") AnchorY - | @as("clockwise") Clockwise - | @as("context") Context - | @as("innerR") InnerR - | @as("longArc") LongArc - | @as("r") R -type chartsDataPointPrimaryConfig = { - label: string, - val: float, -} -type chartsDataPointAuxConfig = { - label: string, - val: float, - @as("type") type_?: axisType, - dateOnly?: bool, - smart?: bool, - timeZone?: string, - hour12?: bool, -} -type chartsDataPointErrorErrorDataConfig = { - label: string, - value: string, -} -type chartsDataPointErrorConfig = { - title: string, - errorData?: array, -} -type dataPoint = { - primary: chartsDataPointPrimaryConfig, - aux?: array, - error?: chartsDataPointErrorConfig, -} -type newNestedDataPoint = { - name: string, - data: Dict.t, -} -type chartsColorsConfig = { - key: string, - color: string, -} -type stackedLegendsDataPoint = { - value: float, - delta: float, - changeType: legendsChangeType, -} -type chartsTickPropsPayloadConfig = { - value: CommonTypes.stringOrNumber, - index?: int, - coordinate?: float, -} -type tickProps = { - x?: float, - y?: float, - payload?: chartsTickPropsPayloadConfig, -} -@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" -type axisConfig = { - label?: string, - showLabel?: bool, - interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, - show?: bool, - @as("type") type_?: axisType, - tickFormatter?: CommonTypes.stringOrNumber => string, - customTick?: React.component, - dateOnly?: bool, - useUTC?: bool, - formatString?: string, - timeOnly?: bool, - showYear?: bool, - ticks?: array, - autoConsistentTicks?: bool, - maxTicks?: float, - smartDateTimeFormat?: bool, -} -type chartsTooltipConfigPositionConfig = { - x?: float, - y?: float, -} -type chartsTooltipConfigAllowEscapeViewBoxConfig = { - x?: bool, - y?: bool, -} -type tooltipConfig = { - position?: chartsTooltipConfigPositionConfig, - allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, -} -type noDataProps = { - title?: string, - subtitle?: string, - slot?: React.element, - button?: ButtonTypes.buttonProps, -} -type chartsSkeletonProps = { - show: bool, - variant: SkeletonTypes.skeletonVariant, -} -type chartsLegendsConfig = { - title: string, - total?: string, -} -type chartsDotItemDotPropsPayloadConfig = { - name?: string, -} -type dotItemDotProps = { - cx?: float, - cy?: float, - value?: float, - payload?: chartsDotItemDotPropsPayloadConfig, -} -type chartsPayloadConfig = { - name: string, - id?: string, - color?: string, - value?: float, -} -type chartsSankeyTooltipDataPayloadConfig = { - name?: string, - value?: float, - source?: CommonTypes.stringOrNumber, - target?: CommonTypes.stringOrNumber, - sourceName?: string, - targetName?: string, - color?: string, - hoverColor?: string, -} -type sankeyTooltipData = { - payload: chartsSankeyTooltipDataPayloadConfig, -} -type sankeyLink = { - source: CommonTypes.stringOrNumber, - target: CommonTypes.stringOrNumber, - value: float, - color?: string, - hoverColor?: string, -} + | @as("triangle-down") TriangleDown type axisAccessibilityOptionsObject = { description?: string, enabled?: bool, @@ -766,7 +461,7 @@ type xAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1546,7 +1241,7 @@ type chartParallelAxesTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1651,7 +1346,7 @@ type colorAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -3080,8 +2775,8 @@ module ChartsSeriesAtrOptionsOnPoint = { } type borderRadiusOptionsObject = { radius: CommonTypes.stringOrNumber, - scope: chartsBorderRadiusOptionsObjectScope, - where: chartsBorderRadiusOptionsObjectWhere, + scope: ChartsTypes.chartsBorderRadiusOptionsObjectScope, + where: ChartsTypes.chartsBorderRadiusOptionsObjectWhere, } @unboxed type stringOrNumberOrBorderRadiusOptionsObject = Str(string) | Num(float) | BorderRadiusOptionsObject(borderRadiusOptionsObject) module ChartsSeriesBarOptionsDataSorting = { @@ -5031,7 +4726,7 @@ type plotOrganizationLinkOptions = { color?: string, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotOrganizationOnPointOptionsConnectorOptions = { type t @@ -6163,7 +5858,7 @@ type plotTreegraphLinkOptions = { curveFactor?: float, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotTreegraphOnPointOptionsConnectorOptions = { type t @@ -10347,11 +10042,11 @@ and plotSankeyOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -11532,12 +11227,12 @@ and plotOrganizationOptions<'a, 'b, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array>, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -14341,7 +14036,7 @@ and plotDependencywheelOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -16276,7 +15971,7 @@ and plotArcdiagramOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -19941,11 +19636,11 @@ and seriesSankeyOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -21373,12 +21068,12 @@ and seriesOrganizationOptions<'b, 'a, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -24955,7 +24650,7 @@ and seriesDependencywheelOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -27468,7 +27163,7 @@ and seriesArcdiagramOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -27860,7 +27555,7 @@ and tooltipPositionerPointObject<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c>, option, option) => unit, // ⚪ loose — was `boolean | Partial` @@ -29204,7 +28899,7 @@ and point<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (string, option, option) => unit, // ⚪ loose — was `PointOptionsType` @@ -29247,7 +28942,7 @@ and series<'a, 'b, 'c> = { searchPoint: (string, option) => point<'a, 'b, 'c>, // ⚪ loose — was `PointerEvent` select: option => unit, setData: (array, option, option, option) => unit, // ⚪ loose — was `boolean | Partial` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, show: unit => unit, translate: unit => unit, @@ -29818,7 +29513,7 @@ and chart<'a, 'b, 'c> = { @unboxed and seriesArcDiagramDataLabelsOptionsObjectOrSeriesArcDiagramDataLabelsOptionsObjectArray<'a, 'b, 'c> = SeriesArcDiagramDataLabelsOptionsObject(seriesArcDiagramDataLabelsOptionsObject<'a, 'b, 'c>) | SeriesArcDiagramDataLabelsOptionsObjectArr(array>) @unboxed and plotAoDataLabelsOptionsOrPlotAoDataLabelsOptionsArray<'a, 'b, 'c> = PlotAoDataLabelsOptions(plotAoDataLabelsOptions<'a, 'b, 'c>) | PlotAoDataLabelsOptionsArr(array>) @unboxed and plotAdDataLabelsOptionsOrPlotAdDataLabelsOptionsArray<'a, 'b, 'c> = PlotAdDataLabelsOptions(plotAdDataLabelsOptions<'a, 'b, 'c>) | PlotAdDataLabelsOptionsArr(array>) -@unboxed and pointOrPointArray<'a, 'b, 'c> = PointPointArray(point<'a, 'b, 'c>) | PointArr(array>) +@unboxed and pointOrPointArray<'a, 'b, 'c> = Point(point<'a, 'b, 'c>) | PointArr(array>) @unboxed and stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c> = Str(string) | Num(float) | Arr(array) | PointOptionsObject(pointOptionsObject<'a, 'b, 'c>) @unboxed and plotAbandsDataLabelsOptionsOrPlotAbandsDataLabelsOptionsArray<'a, 'b, 'c> = PlotAbandsDataLabelsOptions(plotAbandsDataLabelsOptions<'a, 'b, 'c>) | PlotAbandsDataLabelsOptionsArr(array>) @unboxed and boolOrAxisCrosshairOptions<'a, 'b, 'c> = Bool(bool) | AxisCrosshairOptions(axisCrosshairOptions<'a, 'b, 'c>) @@ -30909,202 +30604,3 @@ module AxisOptions = { external fromZAxisOptions: zAxisOptions<'a, 'b, 'c> => t = "%identity" external asZAxisOptions: t => (zAxisOptions<'a, 'b, 'c>) = "%identity" } -type defsArrowAttributesOptions = { - id?: string, - markerHeight?: float, - markerWidth?: float, - refX?: float, - refY?: float, -} -type defsReverseArrowOptions = { - attributes?: defsArrowAttributesOptions, - tagName?: string, -} -module ChartsDefsOptionsReverseArrow = { - type t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsReverseArrowOptions: defsReverseArrowOptions => t = "%identity" - external asDefsReverseArrowOptions: t => (defsReverseArrowOptions) = "%identity" -} -type chartsDefsOptionsArrow_t -type rec defsArrowOptions = { - attributes?: defsArrowAttributesOptions, - children?: array, - tagName?: string, -} -and defsOptions = { - arrow?: chartsDefsOptionsArrow_t, - @as("reverse-arrow") reverseArrow?: ChartsDefsOptionsReverseArrow.t, -} -module ChartsDefsOptionsArrow = { - type t = chartsDefsOptionsArrow_t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsArrowOptions: defsArrowOptions => t = "%identity" - external asDefsArrowOptions: t => (defsArrowOptions) = "%identity" -} -type dragDropGuideBoxOptionsObject = { - className?: string, - color?: string, // ⚪ loose — was `ColorType` - cursor?: string, - lineColor?: string, - lineWidth?: float, - zIndex?: int, -} -type plotOptionsSeriesDragDropGuideBoxOptions = { - default?: dragDropGuideBoxOptionsObject, -} -type exportingButtonsOptionsObject = { - align?: alignValue, - buttonSpacing?: float, - className?: string, - enabled?: bool, - height?: float, - menuClassName?: string, - menuItems?: array, - onclick?: JsFn.t, - symbol?: string, - symbolFill?: ColorType.t, - symbolSize?: float, - symbolStroke?: string, - symbolStrokeWidth?: float, - symbolX?: float, - symbolY?: float, - text?: string, - theme?: exportingButtonsContextButtonThemeOptions, - titleKey?: string, - useHTML?: bool, - verticalAlign?: verticalAlignValue, - width?: float, - x?: float, - y?: float, -} -type exportingButtonsOptions = { - contextButton?: exportingButtonsOptionsObject, -} -type exportingMenuItemDefinitionsDownloadCSVOptions = { - textKey?: string, -} -type exportingMenuItemDefinitionsSeparatorOptions = { - separator?: bool, -} -type exportingMenuItemDefinitionsOptions = { - downloadCSV?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadJPEG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPDF?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPNG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadSVG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadXLS?: exportingMenuItemDefinitionsDownloadCSVOptions, - printChart?: exportingMenuItemDefinitionsDownloadCSVOptions, - separator?: exportingMenuItemDefinitionsSeparatorOptions, - viewData?: exportingMenuItemDefinitionsDownloadCSVOptions, - viewFullscreen?: exportingMenuItemDefinitionsDownloadCSVOptions, -} -type exportingMenuObject<'a, 'b, 'c> = { - onclick?: @this ((chart<'a, 'b, 'c>, option, option>) => option), // ⚠️ REVIEW — was `Event | Dictionary` — match the real type by hand - separator?: bool, - text?: string, - textKey?: string, -} -module ChartsSeriesMapDataGeometryOptionsCoordinates = { - type t - external fromArray: array => t = "%identity" - external asArray: t => (array) = "%identity" - external fromLonLatArrays: array> => t = "%identity" - external asLonLatArrays: t => (array>) = "%identity" -} -type seriesMapDataGeometryOptions = { - coordinates?: array, - @as("type") type_?: mapGeometryTypeValue, -} -module ChartsSeriesMapDataOptionsGeometry = { - type t - external fromJSON: JSON.t => t = "%identity" - external asJSON: t => (JSON.t) = "%identity" - external fromSeriesMapDataGeometryOptions: seriesMapDataGeometryOptions => t = "%identity" - external asSeriesMapDataGeometryOptions: t => (seriesMapDataGeometryOptions) = "%identity" -} -type seriesMapDataOptions<'a, 'b, 'c> = { - color?: ColorType.t, - dataLabels?: dataLabelsOptions, - drilldown?: string, - events?: pointEventsOptionsObject<'a, 'b, 'c>, - geometry?: ChartsSeriesMapDataOptionsGeometry.t, - id?: string, - labelrank?: float, - middleX?: float, - middleY?: float, - name?: string, - path?: string, - states?: seriesStatesOptionsObject, - value?: float, -} -type blendChartProps<'a, 'b, 'c> = { - allowChartUpdate?: bool, - constructorType?: chartsBlendChartPropsConstructorType, - containerProps?: Dict.t, // 🛑 BROKEN — contains `any` - highcharts?: InstanceTypes.highchartsModule, - immutable?: bool, - options?: options<'a, 'b, 'c>, - updateArgs?: array, - callback?: chart<'a, 'b, 'c> => unit, -} -@set_index external blendChartPropsSet: (blendChartProps<'a, 'b, 'c>, string, JSON.t) => unit = "" -type chartsChartTokensTypeHeaderPaddingConfig = { - x: string, - y: string, -} -type chartsChartTokensTypeHeaderSlotsConfig = { - gap: string, -} -type chartsChartTokensTypeHeaderConfig = { - padding: chartsChartTokensTypeHeaderPaddingConfig, - backgroundColor: string, - borderBottom: string, - borderRadius: string, - slots: chartsChartTokensTypeHeaderSlotsConfig, -} -type chartsChartTokensTypeContentLegendDropdownConfig = { - maxHeight: string, -} -type chartsChartTokensTypeContentLegendItemColorConfig = { - default: string, - hover: string, - active: string, - total: string, -} -type chartsChartTokensTypeContentLegendItemConfig = { - gap: string, - color: chartsChartTokensTypeContentLegendItemColorConfig, - fontSize: string, - fontWeight: string, -} -type chartsChartTokensTypeContentLegendConfig = { - gap: string, - dropdown: chartsChartTokensTypeContentLegendDropdownConfig, - item: chartsChartTokensTypeContentLegendItemConfig, -} -type chartsChartTokensTypeContentPaddingConfig = { - top: string, - right: string, - bottom: string, - left: string, -} -type chartsChartTokensTypeContentConfig = { - legend: chartsChartTokensTypeContentLegendConfig, - padding: chartsChartTokensTypeContentPaddingConfig, - gap: string, - backgroundColor: string, -} -type chartTokensType = { - border: string, - borderRadius: string, - header: chartsChartTokensTypeHeaderConfig, - content: chartsChartTokensTypeContentConfig, -} -type responsiveChartTokens = { - sm: chartTokensType, - lg: chartTokensType, -} -@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/MultiSelectV2SharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/MultiSelectV2SharedTypes.res index d8c9a77..2d1e71d 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/MultiSelectV2SharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/MultiSelectV2SharedTypes.res @@ -270,7 +270,7 @@ type componentTokenType = { @as("STAT_CARD") statCard?: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar?: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer?: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts?: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts?: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar?: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper?: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair?: KeyValuePairTypes.responsiveKeyValuePairTokens, @@ -332,7 +332,7 @@ type contextThemeContextTypeComponentTokensConfig = { @as("STAT_CARD") statCard: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair: KeyValuePairTypes.responsiveKeyValuePairTokens, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyLink.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyLink.res index 6165d04..7049da9 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyLink.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyLink.res @@ -7,9 +7,9 @@ type props = { targetControlX?: float, linkWidth?: float, index?: int, - payload?: HighchartsSharedTypes.sankeyLink, - linkColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + payload?: ChartsTypes.sankeyLink, + linkColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyNode.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyNode.res index b4e64c7..eccb76f 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyNode.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/SankeyNode.res @@ -4,10 +4,10 @@ type props = { width?: float, height?: float, index?: int, - payload?: HighchartsSharedTypes.chartsPayloadConfig, + payload?: ChartsTypes.chartsPayloadConfig, containerWidth?: float, - nodeColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + nodeColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCard.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCard.res index 4e0104d..c9dd32a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCard.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCard.res @@ -15,7 +15,7 @@ type props = { minWidth?: string, xAxis?: StatCardTypes.statCardAxisConfig, yAxis?: StatCardTypes.statCardAxisConfig, - valueFormatter?: HighchartsSharedTypes.axisType, + valueFormatter?: ChartsTypes.axisType, height?: string, direction?: StatCardTypes.statCardDirection, skeleton?: StatCardTypes.statCardSkeletonProps, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCardTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCardTypes.res index fff3f5f..efba79b 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCardTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/StatCardTypes.res @@ -23,7 +23,7 @@ type chartDataPoint = { name: string, } type statCardAxisConfig = { - @as("type") type_?: HighchartsSharedTypes.axisType, + @as("type") type_?: ChartsTypes.axisType, tickFormatter?: CommonTypes.stringOrNumber => string, dateOnly?: bool, useUTC?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/_REPORT.md b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/_REPORT.md index 5f9f3ac..edc45fe 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/_REPORT.md +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/bindings/_REPORT.md @@ -4,7 +4,7 @@ **55** function binding(s) → `BlendDesignSystemBindings.res`. -**2658** shared types deduplicated into **63** `*Types.res` modules (referenced qualified — no per-file redeclaration). +**2638** shared types deduplicated into **64** `*Types.res` modules (referenced qualified — no per-file redeclaration). ## 🔤 Constructor name collisions @@ -16,16 +16,12 @@ A bare constant, an identity payload and a `@tag`-injected object are different | Module | Constructor | Conflicting runtime representations | Renamed to | |---|---|---|---| -| `HighchartsSharedTypes` | `Point` | `"point"` / `(payload, passed through)` / `"Point"` | `PointConstructorType`, `PointObjectScope`, `PointPointArray` | -| `HighchartsSharedTypes` | `Pointer` | `"pointer"` / `"Pointer"` | `PointerConstructorType`, `PointerCursorValue` | -| `HighchartsSharedTypes` | `Polygon` | `"polygon"` / `"Polygon"` | `PolygonTypeValue`, `PolygonInterpolationValue` | -| `HighchartsSharedTypes` | `Series` | `"series"` / `"Series"` | `SeriesConstructorType`, `SeriesWithinValue` | +| `ChartsTypes` | `Point` | `"point"` / `"Point"` | `PointConstructorType`, `PointObjectScope` | | `HighchartsSharedTypes` | `Solid` | `"Solid"` / `"solid"` | `SolidStyleValue`, `SolidShapeValue` | -| `HighchartsSharedTypes` | `TriangleDown` | `"triangle-down"` / `"triangleDown"` | `TriangleDownConstructorType`, `TriangleDownKeyValue` | -| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValuePointSetState`, `ValueSeriesSetState`, `ValueOptionsCompare`, `ValueOptionsGapUnit`, `ValueOptionsOperator` | +| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValueOptionsCompare`, `ValueGapUnit`, `ValueOptionsOperator` | | `DataTableTypes` | `DateRange` | `"date_range"` / `"dateRange"` | `DateRangeColumnType`, `DateRangeTypeType`, `DateRangeFilterComponent` | -### Left as-is — same name, same runtime representation (113) +### Left as-is — same name, same runtime representation (109) These produce the same runtime shape whichever definition wins, so renaming them would churn every consumer for no correctness gain. Listed because the ambiguity is still there to read. @@ -34,7 +30,8 @@ These produce the same runtime shape whichever definition wins, so renaming them - `CommonTypes`: `Arr`, `Auto`, `Bool`, `Fn`, `Num`, `Str`, `StrArr` - `TagsTypes`: `Lg`, `Md`, `Sm`, `Xs` - `TooltipTypes`: `Left`, `Right` -- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Bottom`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `End`, `Flap`, `Fn`, `High`, `Horizontal`, `Hover`, `Inactive`, `Inside`, `Justify`, `Left` … +35 more +- `ChartsTypes`: `Chart`, `End`, `Hover`, `Inactive`, `Normal`, `Offset`, `Select`, `Top`, `Value` +- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `Fn`, `High`, `Horizontal`, `Inside`, `Justify`, `Left`, `Linear`, `Logarithmic`, `Low`, `Meta`, `Middle` … +22 more - `DateRangePickerTypes`: `Custom` - `InputsTypes`: `Left`, `Lg`, `Md`, `Right`, `Sm` - `DataTableTypes`: `Avatar`, `Custom`, `Date`, `Decimal`, `Dropdown`, `Error`, `Multiselect`, `Number`, `Percentage`, `Primary`, `Progress`, `ReactElement`, `Secondary`, `Select`, `Slider`, `Success`, `Tag`, `Text`, `Warning` diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.36/metrics.json b/benchmark/baselines/_juspay_blend-design-system_0.0.36/metrics.json index dfa87f7..5bb90cd 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.36/metrics.json +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.36/metrics.json @@ -11,5 +11,5 @@ }, "functions": 55, "classes": 0, - "files": 174 + "files": 175 } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendChart.res index f0e4826..42b7484 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendChart.res @@ -1,7 +1,7 @@ type props<'a, 'b, 'c, 't7> = { ref?: React.ref>>, allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'t7>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendDesignSystemBindings.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendDesignSystemBindings.res index 04ac4e8..3f27204 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendDesignSystemBindings.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/BlendDesignSystemBindings.res @@ -9,7 +9,7 @@ @module("@juspay/blend-design-system") external normalizeBreadcrumbItems: (array) => array = "normalizeBreadcrumbItems" @module("@juspay/blend-design-system") external getButtonTokens: (TokensTypes.foundationTokenType) => ButtonTypes.responsiveButtonTokens = "getButtonTokens" @module("@juspay/blend-design-system") external getCardTokens: (TokensTypes.foundationTokenType) => CardTypes.responsiveCardTokens = "getCardTokens" -@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => HighchartsSharedTypes.responsiveChartTokens = "getChartTokens" +@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => ChartsTypes.responsiveChartTokens = "getChartTokens" @module("@juspay/blend-design-system") external blendChartBaseInstance: InstanceTypes.highchartsModule = "BlendChartBaseInstance" @module("@juspay/blend-design-system") external getChatInputTokens: (TokensTypes.foundationTokenType) => ChatInputTypes.responsiveChatInputTokensType = "getChatInputTokens" @module("@juspay/blend-design-system") external validateColumnData: DataTableTypes.dataTableValidateColumnDataConfig = "validateColumnData" diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartLegends.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartLegends.res index 9c6623b..b5d1e4a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartLegends.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartLegends.res @@ -1,7 +1,7 @@ type props = { chartContainerRef: React.ref>, keys: array, - colors: array, + colors: array, handleLegendClick: string => unit, handleLegendEnter: string => unit, handleLegendLeave: unit => unit, @@ -11,8 +11,8 @@ type props = { activeKeys: Nullable.t>, stacked?: bool, isSmallScreen?: bool, - stackedLegendsData?: array, - legends?: array, + stackedLegendsData?: array, + legends?: array, } @module("@juspay/blend-design-system") diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartV2.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartV2.res index b48295c..bf43506 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartV2.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartV2.res @@ -1,6 +1,6 @@ type props<'a, 'b, 'c> = { allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'a>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Charts.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Charts.res index 3a45852..c3e0dcf 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Charts.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Charts.res @@ -1,28 +1,28 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data?: Nullable.t>, - colors?: array, + chartType?: ChartsTypes.chartType, + data?: Nullable.t>, + colors?: array, slot1?: React.element, slot2?: React.element, slot3?: React.element, - legendPosition?: HighchartsSharedTypes.chartLegendPosition, + legendPosition?: ChartsTypes.chartLegendPosition, chartHeaderSlot: React.element, stackedLegends?: bool, - stackedLegendsData?: array, + stackedLegendsData?: array, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, - noData?: HighchartsSharedTypes.noDataProps, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, + noData?: ChartsTypes.noDataProps, height?: float, showHeader?: bool, showCollapseIcon?: bool, isExpanded?: bool, onExpandedChange?: bool => unit, chartName?: string, - skeleton?: HighchartsSharedTypes.chartsSkeletonProps, - legends?: array, - @as("CustomizedDot") customizedDot?: HighchartsSharedTypes.dotItemDotProps => React.element, + skeleton?: ChartsTypes.chartsSkeletonProps, + legends?: array, + @as("CustomizedDot") customizedDot?: ChartsTypes.dotItemDotProps => React.element, lineSeriesKeys?: array, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartsTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartsTypes.res new file mode 100644 index 0000000..f261942 --- /dev/null +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/ChartsTypes.res @@ -0,0 +1,360 @@ +type chartType = + | @as("line") Line + | @as("bar") Bar + | @as("lineBar") LineBar + | @as("pie") Pie + | @as("scatter") Scatter + | @as("area") Area + | @as("sankey") Sankey +type axisType = + | @as("dateTime") DateTime + | @as("currency") Currency + | @as("percentage") Percentage + | @as("number") Number +type chartLegendPosition = + | @as("top") Top + | @as("right") Right +type legendsChangeType = + | @as("increase") Increase + | @as("decrease") Decrease +type chartsXAxisTitleOptionsPosition3d = + | @as("chart") Chart + | @as("flap") Flap + | @as("offset") Offset + | @as("ortho") Ortho +type chartsSeriesSetState = + | @as("") Value + | @as("normal") Normal + | @as("inactive") Inactive + | @as("hover") Hover + | @as("select") Select +type chartsPointSetState = + | @as("") Value + | @as("normal") Normal + | @as("inactive") Inactive + | @as("hover") Hover + | @as("select") Select +type chartsSeriesArcdiagramOptionsLinkColorMode = + | @as("from") From + | @as("to") To + | @as("gradient") Gradient +type chartsBorderRadiusOptionsObjectScope = + | @as("point") PointObjectScope + | @as("stack") Stack +type chartsBorderRadiusOptionsObjectWhere = + | @as("all") All + | @as("end") End +type chartsSeriesOrganizationOptionsHangingSide = + | @as("left") Left + | @as("right") Right +type chartsPlotOrganizationLinkOptionsType = + | @as("straight") Straight + | @as("curved") Curved + | @as("orthogonal") Orthogonal +type chartsSeriesOrganizationOptionsNodeAlignment = + | @as("top") Top + | @as("bottom") Bottom + | @as("center") Center +type chartsBlendChartPropsConstructorType = + | @as("width") Width + | @as("height") Height + | @as("color") Color + | @as("error") Error + | @as("open") Open + | @as("end") End + | @as("start") Start + | @as("wrap") Wrap + | @as("x") X + | @as("y") Y + | @as("circle") Circle + | @as("triangle") Triangle + | @as("find") Find + | @as("backgroundSize") BackgroundSize + | @as("chart") Chart + | @as("offset") Offset + | @as("animate") Animate + | @as("arc") Arc + | @as("callout") Callout + | @as("diamond") Diamond + | @as("format") Format + | @as("rect") Rect + | @as("addEvent") AddEvent + | @as("animObject") AnimObject + | @as("arrayMax") ArrayMax + | @as("arrayMin") ArrayMin + | @as("attr") Attr + | @as("correctFloat") CorrectFloat + | @as("createElement") CreateElement + | @as("css") Css + | @as("dateFormat") DateFormat + | @as("defined") Defined + | @as("destroyObjectProperties") DestroyObjectProperties + | @as("discardElement") DiscardElement + | @as("erase") Erase + | @as("extend") Extend + | @as("extendClass") ExtendClass + | @as("fireEvent") FireEvent + | @as("getDeferredAnimation") GetDeferredAnimation + | @as("getMagnitude") GetMagnitude + | @as("getOptions") GetOptions + | @as("getStyle") GetStyle + | @as("isArray") IsArray + | @as("isClass") IsClass + | @as("isDOMElement") IsDOMElement + | @as("isFunction") IsFunction + | @as("isNumber") IsNumber + | @as("isObject") IsObject + | @as("isString") IsString + | @as("merge") Merge + | @as("normalizeTickInterval") NormalizeTickInterval + | @as("numberFormat") NumberFormat + | @as("objectEach") ObjectEach + | @as("pad") Pad + | @as("pick") Pick + | @as("relativeLength") RelativeLength + | @as("removeEvent") RemoveEvent + | @as("seriesType") SeriesType + | @as("setAnimation") SetAnimation + | @as("setOptions") SetOptions + | @as("splat") Splat + | @as("stableSort") StableSort + | @as("stop") Stop + | @as("syncTimeout") SyncTimeout + | @as("uniqueKey") UniqueKey + | @as("useSerialIds") UseSerialIds + | @as("centerImage") CenterImage + | @as("dateTimeFormat") DateTimeFormat + | @as("deleteRows") DeleteRows + | @as("getColumn") GetColumn + | @as("getColumns") GetColumns + | @as("getLogTickPositions") GetLogTickPositions + | @as("getModified") GetModified + | @as("getRendererType") GetRendererType + | @as("getRow") GetRow + | @as("modifyTree") ModifyTree + | @as("registerRendererType") RegisterRendererType + | @as("registerSeriesType") RegisterSeriesType + | @as("roundedRect") RoundedRect + | @as("setColumn") SetColumn + | @as("setColumns") SetColumns + | @as("setRow") SetRow + | @as("str2dtf") Str2dtf + | @as("triangleDown") TriangleDown + | @as("unescapeEntities") UnescapeEntities + | @as("Annotation") Annotation + | @as("AnnotationControlPoint") AnnotationControlPoint + | @as("AST") AST + | @as("Axis") Axis + | @as("Chart") Chart2 + | @as("Color") Color2 + | @as("DataTable") DataTable + | @as("DataTableCore") DataTableCore + | @as("Legend") Legend + | @as("PlotLineOrBand") PlotLineOrBand + | @as("Point") PointConstructorType + | @as("Pointer") Pointer + | @as("Series") Series + | @as("StackItem") StackItem + | @as("SVGElement") SVGElement + | @as("SVGLabel") SVGLabel + | @as("SVGRenderer") SVGRenderer + | @as("Tick") Tick + | @as("Time") Time + | @as("Tooltip") Tooltip + | @as("charts") Charts + | @as("dateFormats") DateFormats + | @as("defaultOptions") DefaultOptions + | @as("theme") Theme + | @as("anchorX") AnchorX + | @as("anchorY") AnchorY + | @as("clockwise") Clockwise + | @as("context") Context + | @as("innerR") InnerR + | @as("longArc") LongArc + | @as("r") R +type chartsChartTokensTypeHeaderPaddingConfig = { + x: string, + y: string, +} +type chartsChartTokensTypeHeaderSlotsConfig = { + gap: string, +} +type chartsChartTokensTypeHeaderConfig = { + padding: chartsChartTokensTypeHeaderPaddingConfig, + backgroundColor: string, + borderBottom: string, + borderRadius: string, + slots: chartsChartTokensTypeHeaderSlotsConfig, +} +type chartsChartTokensTypeContentLegendDropdownConfig = { + maxHeight: string, +} +type chartsChartTokensTypeContentLegendItemColorConfig = { + active: string, + default: string, + hover: string, + total: string, +} +type chartsChartTokensTypeContentLegendItemConfig = { + gap: string, + color: chartsChartTokensTypeContentLegendItemColorConfig, + fontSize: string, + fontWeight: string, +} +type chartsChartTokensTypeContentLegendConfig = { + gap: string, + dropdown: chartsChartTokensTypeContentLegendDropdownConfig, + item: chartsChartTokensTypeContentLegendItemConfig, +} +type chartsChartTokensTypeContentPaddingConfig = { + top: string, + right: string, + bottom: string, + left: string, +} +type chartsChartTokensTypeContentConfig = { + legend: chartsChartTokensTypeContentLegendConfig, + padding: chartsChartTokensTypeContentPaddingConfig, + gap: string, + backgroundColor: string, +} +type chartTokensType = { + border: string, + borderRadius: string, + header: chartsChartTokensTypeHeaderConfig, + content: chartsChartTokensTypeContentConfig, +} +type responsiveChartTokens = { + sm: chartTokensType, + lg: chartTokensType, +} +type chartsDataPointPrimaryConfig = { + label: string, + val: float, +} +type chartsDataPointAuxConfig = { + label: string, + val: float, + @as("type") type_?: axisType, + dateOnly?: bool, + smart?: bool, + timeZone?: string, + hour12?: bool, +} +type chartsDataPointErrorErrorDataConfig = { + label: string, + value: string, +} +type chartsDataPointErrorConfig = { + title: string, + errorData?: array, +} +type dataPoint = { + primary: chartsDataPointPrimaryConfig, + aux?: array, + error?: chartsDataPointErrorConfig, +} +type newNestedDataPoint = { + name: string, + data: Dict.t, +} +type chartsColorsConfig = { + key: string, + color: string, +} +type stackedLegendsDataPoint = { + value: float, + delta: float, + changeType: legendsChangeType, +} +type chartsTickPropsPayloadConfig = { + value: CommonTypes.stringOrNumber, + index?: int, + coordinate?: float, +} +type tickProps = { + x?: float, + y?: float, + payload?: chartsTickPropsPayloadConfig, +} +@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" +type axisConfig = { + label?: string, + showLabel?: bool, + interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, + show?: bool, + @as("type") type_?: axisType, + tickFormatter?: CommonTypes.stringOrNumber => string, + customTick?: React.component, + dateOnly?: bool, + useUTC?: bool, + formatString?: string, + timeOnly?: bool, + showYear?: bool, + ticks?: array, + autoConsistentTicks?: bool, + maxTicks?: float, + smartDateTimeFormat?: bool, +} +type chartsTooltipConfigPositionConfig = { + x?: float, + y?: float, +} +type chartsTooltipConfigAllowEscapeViewBoxConfig = { + x?: bool, + y?: bool, +} +type tooltipConfig = { + position?: chartsTooltipConfigPositionConfig, + allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, +} +type noDataProps = { + title?: string, + subtitle?: string, + slot?: React.element, + button?: ButtonTypes.buttonProps, +} +type chartsSkeletonProps = { + show: bool, + variant: SkeletonTypes.skeletonVariant, +} +type chartsLegendsConfig = { + title: string, + total?: string, +} +type chartsDotItemDotPropsPayloadConfig = { + name?: string, +} +type dotItemDotProps = { + cx?: float, + cy?: float, + value?: float, + payload?: chartsDotItemDotPropsPayloadConfig, +} +type chartsPayloadConfig = { + name: string, + id?: string, + color?: string, + value?: float, +} +type chartsSankeyTooltipDataPayloadConfig = { + name?: string, + value?: float, + source?: CommonTypes.stringOrNumber, + target?: CommonTypes.stringOrNumber, + sourceName?: string, + targetName?: string, + color?: string, + hoverColor?: string, +} +type sankeyTooltipData = { + payload: chartsSankeyTooltipDataPayloadConfig, +} +type sankeyLink = { + source: CommonTypes.stringOrNumber, + target: CommonTypes.stringOrNumber, + value: float, + color?: string, + hoverColor?: string, +} +@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/CoreChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/CoreChart.res index 467ef74..0ce8c6b 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/CoreChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/CoreChart.res @@ -1,11 +1,11 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data?: Nullable.t>, - colors?: array, + chartType?: ChartsTypes.chartType, + data?: Nullable.t>, + colors?: array, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, height?: CommonTypes.stringOrNumber, width?: CommonTypes.stringOrNumber, isSmallScreen?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/EditorSharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/EditorSharedTypes.res index 3feaa56..c9e8f66 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/EditorSharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/EditorSharedTypes.res @@ -1627,7 +1627,7 @@ type componentTokenType = { @as("STAT_CARD") statCard?: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar?: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer?: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts?: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts?: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar?: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper?: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair?: KeyValuePairTypes.responsiveKeyValuePairTokens, @@ -1707,7 +1707,7 @@ type contextThemeContextTypeComponentTokensConfig = { @as("STAT_CARD") statCard: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair: KeyValuePairTypes.responsiveKeyValuePairTokens, @@ -1899,7 +1899,7 @@ type embeddedSingleSelectOptions = { menuAlignment: SelectV2Types.selectV2Alignment, menuSideOffset: float, menuAlignOffset: float, - defaultSingleSelectGroupPosition: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + defaultSingleSelectGroupPosition: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, } type inputsV2FOCUSRINGSTYLESConfig = { boxShadow: string, @@ -2603,7 +2603,7 @@ type iEditorStickyScrollOptions = { type iEditorMinimapOptions = { enabled?: bool, autohide?: codeEditorV2IEditorMinimapOptionsAutohide, - side?: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + side?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, size?: codeEditorV2IEditorMinimapOptionsSize, showSlider?: codeEditorV2IEditorMinimapOptionsShowSlider, renderCharacters?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/HighchartsSharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/HighchartsSharedTypes.res index b8c7e04..397c22d 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/HighchartsSharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/HighchartsSharedTypes.res @@ -1,24 +1,5 @@ @@warning("-30") -type chartType = - | @as("line") Line - | @as("bar") Bar - | @as("lineBar") LineBar - | @as("pie") Pie - | @as("scatter") Scatter - | @as("area") Area - | @as("sankey") Sankey -type axisType = - | @as("dateTime") DateTime - | @as("currency") Currency - | @as("percentage") Percentage - | @as("number") Number -type chartLegendPosition = - | @as("top") Top - | @as("right") Right -type legendsChangeType = - | @as("increase") Increase - | @as("decrease") Decrease type dashStyleValue = | @as("Dash") Dash | @as("DashDot") DashDot @@ -41,7 +22,7 @@ type verticalAlignValue = | @as("middle") Middle type optionsGridLineInterpolationValue = | @as("circle") Circle - | @as("polygon") PolygonInterpolationValue + | @as("polygon") Polygon type optionsOverflowValue = | @as("justify") Justify | @as("allow") Allow @@ -63,23 +44,12 @@ type axisTitleAlignValue = | @as("middle") Middle | @as("high") High | @as("low") Low -type chartsXAxisTitleOptionsPosition3d = - | @as("chart") Chart - | @as("flap") Flap - | @as("offset") Offset - | @as("ortho") Ortho type axisTypeValue = | @as("linear") Linear | @as("treegrid") Treegrid | @as("category") Category | @as("datetime") Datetime | @as("logarithmic") Logarithmic -type chartsSeriesSetState = - | @as("") ValueSeriesSetState - | @as("normal") Normal - | @as("inactive") Inactive - | @as("hover") Hover - | @as("select") Select type svgPathCommand = | @as("a") A | @as("c") C @@ -101,12 +71,6 @@ type svgPathCommand = | @as("T") T2 | @as("V") V2 | @as("Z") Z2 -type chartsPointSetState = - | @as("") ValuePointSetState - | @as("normal") Normal - | @as("inactive") Inactive - | @as("hover") Hover - | @as("select") Select type bubbleSizeByValue = | @as("width") Width | @as("area") Area @@ -136,7 +100,7 @@ type cursorValue = | @as("ns-resize") NsResize | @as("nw-resize") NwResize | @as("nwse-resize") NwseResize - | @as("pointer") PointerCursorValue + | @as("pointer") Pointer | @as("progress") Progress | @as("row-resize") RowResize | @as("s-resize") SResize @@ -230,7 +194,7 @@ type optionsFindNearestPointByValue = | @as("xy") Xy type optionsGapUnitValue = | @as("relative") Relative - | @as("value") ValueOptionsGapUnit + | @as("value") ValueGapUnit type optionsLegendSymbolValue = | @as("rectangle") Rectangle | @as("areaMarker") AreaMarker @@ -247,10 +211,6 @@ type optionsRelativeToValue = type optionsCompareValue = | @as("value") ValueOptionsCompare | @as("percent") Percent -type chartsSeriesArcdiagramOptionsLinkColorMode = - | @as("from") From - | @as("to") To - | @as("gradient") Gradient type optionsPointIntervalUnitValue = | @as("year") Year | @as("month") Month @@ -261,12 +221,6 @@ type optionsStackingValue = | @as("null") Null | @as("overlap") Overlap | @as("stream") Stream -type chartsBorderRadiusOptionsObjectScope = - | @as("point") PointObjectScope - | @as("stack") Stack -type chartsBorderRadiusOptionsObjectWhere = - | @as("all") All - | @as("end") End type optionsPointValKeyValue = | @as("open") Open | @as("high") High @@ -300,17 +254,6 @@ type organizationHangingIndentTranslationValue = | @as("inherit") Inherit | @as("cumulative") Cumulative | @as("shrink") Shrink -type chartsSeriesOrganizationOptionsHangingSide = - | @as("left") Left - | @as("right") Right -type chartsPlotOrganizationLinkOptionsType = - | @as("straight") Straight - | @as("curved") Curved - | @as("orthogonal") Orthogonal -type chartsSeriesOrganizationOptionsNodeAlignment = - | @as("top") Top - | @as("bottom") Bottom - | @as("center") Center type seriesOrganizationNodesLayoutValue = | @as("normal") Normal | @as("hanging") Hanging @@ -395,11 +338,6 @@ type optionsDropdownValue = | @as("always") Always | @as("never") Never | @as("responsive") Responsive -type mapGeometryTypeValue = - | @as("LineString") LineString - | @as("MultiLineString") MultiLineString - | @as("MultiPolygon") MultiPolygon - | @as("Polygon") PolygonTypeValue type synthPatchOscillatorType = | @as("square") Square | @as("triangle") Triangle @@ -412,7 +350,7 @@ type optionsMapFunctionValue = | @as("logarithmic") Logarithmic type optionsWithinValue = | @as("chart") Chart - | @as("series") SeriesWithinValue + | @as("series") Series | @as("xAxis") XAxis | @as("yAxis") YAxis type optionsValueMapFunctionValue = @@ -435,309 +373,7 @@ type symbolKeyValue = | @as("arc") Arc | @as("callout") Callout | @as("diamond") Diamond - | @as("triangle-down") TriangleDownKeyValue -type chartsBlendChartPropsConstructorType = - | @as("width") Width - | @as("height") Height - | @as("color") Color - | @as("error") Error - | @as("open") Open - | @as("end") End - | @as("start") Start - | @as("wrap") Wrap - | @as("x") X - | @as("y") Y - | @as("circle") Circle - | @as("triangle") Triangle - | @as("find") Find - | @as("backgroundSize") BackgroundSize - | @as("chart") Chart - | @as("offset") Offset - | @as("animate") Animate - | @as("arc") Arc - | @as("callout") Callout - | @as("diamond") Diamond - | @as("format") Format - | @as("rect") Rect - | @as("addEvent") AddEvent - | @as("animObject") AnimObject - | @as("arrayMax") ArrayMax - | @as("arrayMin") ArrayMin - | @as("attr") Attr - | @as("correctFloat") CorrectFloat - | @as("createElement") CreateElement - | @as("css") Css - | @as("dateFormat") DateFormat - | @as("defined") Defined - | @as("destroyObjectProperties") DestroyObjectProperties - | @as("discardElement") DiscardElement - | @as("erase") Erase - | @as("extend") Extend - | @as("extendClass") ExtendClass - | @as("fireEvent") FireEvent - | @as("getDeferredAnimation") GetDeferredAnimation - | @as("getMagnitude") GetMagnitude - | @as("getOptions") GetOptions - | @as("getStyle") GetStyle - | @as("isArray") IsArray - | @as("isClass") IsClass - | @as("isDOMElement") IsDOMElement - | @as("isFunction") IsFunction - | @as("isNumber") IsNumber - | @as("isObject") IsObject - | @as("isString") IsString - | @as("merge") Merge - | @as("normalizeTickInterval") NormalizeTickInterval - | @as("numberFormat") NumberFormat - | @as("objectEach") ObjectEach - | @as("pad") Pad - | @as("pick") Pick - | @as("relativeLength") RelativeLength - | @as("removeEvent") RemoveEvent - | @as("seriesType") SeriesType - | @as("setAnimation") SetAnimation - | @as("setOptions") SetOptions - | @as("splat") Splat - | @as("stableSort") StableSort - | @as("stop") Stop - | @as("syncTimeout") SyncTimeout - | @as("uniqueKey") UniqueKey - | @as("useSerialIds") UseSerialIds - | @as("centerImage") CenterImage - | @as("dateTimeFormat") DateTimeFormat - | @as("deleteRows") DeleteRows - | @as("getColumn") GetColumn - | @as("getColumns") GetColumns - | @as("getLogTickPositions") GetLogTickPositions - | @as("getModified") GetModified - | @as("getRendererType") GetRendererType - | @as("getRow") GetRow - | @as("modifyTree") ModifyTree - | @as("registerRendererType") RegisterRendererType - | @as("registerSeriesType") RegisterSeriesType - | @as("roundedRect") RoundedRect - | @as("setColumn") SetColumn - | @as("setColumns") SetColumns - | @as("setRow") SetRow - | @as("str2dtf") Str2dtf - | @as("triangleDown") TriangleDownConstructorType - | @as("unescapeEntities") UnescapeEntities - | @as("Annotation") Annotation - | @as("AnnotationControlPoint") AnnotationControlPoint - | @as("AST") AST - | @as("Axis") Axis - | @as("Chart") Chart2 - | @as("Color") Color2 - | @as("DataTable") DataTable - | @as("DataTableCore") DataTableCore - | @as("Legend") Legend - | @as("PlotLineOrBand") PlotLineOrBand - | @as("Point") PointConstructorType - | @as("Pointer") PointerConstructorType - | @as("Series") SeriesConstructorType - | @as("StackItem") StackItem - | @as("SVGElement") SVGElement - | @as("SVGLabel") SVGLabel - | @as("SVGRenderer") SVGRenderer - | @as("Tick") Tick - | @as("Time") Time - | @as("Tooltip") Tooltip - | @as("charts") Charts - | @as("dateFormats") DateFormats - | @as("defaultOptions") DefaultOptions - | @as("theme") Theme - | @as("anchorX") AnchorX - | @as("anchorY") AnchorY - | @as("clockwise") Clockwise - | @as("context") Context - | @as("innerR") InnerR - | @as("longArc") LongArc - | @as("r") R -type chartsChartTokensTypeHeaderPaddingConfig = { - x: string, - y: string, -} -type chartsChartTokensTypeHeaderSlotsConfig = { - gap: string, -} -type chartsChartTokensTypeHeaderConfig = { - padding: chartsChartTokensTypeHeaderPaddingConfig, - backgroundColor: string, - borderBottom: string, - borderRadius: string, - slots: chartsChartTokensTypeHeaderSlotsConfig, -} -type chartsChartTokensTypeContentLegendDropdownConfig = { - maxHeight: string, -} -type chartsChartTokensTypeContentLegendItemColorConfig = { - active: string, - default: string, - hover: string, - total: string, -} -type chartsChartTokensTypeContentLegendItemConfig = { - gap: string, - color: chartsChartTokensTypeContentLegendItemColorConfig, - fontSize: string, - fontWeight: string, -} -type chartsChartTokensTypeContentLegendConfig = { - gap: string, - dropdown: chartsChartTokensTypeContentLegendDropdownConfig, - item: chartsChartTokensTypeContentLegendItemConfig, -} -type chartsChartTokensTypeContentPaddingConfig = { - top: string, - right: string, - bottom: string, - left: string, -} -type chartsChartTokensTypeContentConfig = { - legend: chartsChartTokensTypeContentLegendConfig, - padding: chartsChartTokensTypeContentPaddingConfig, - gap: string, - backgroundColor: string, -} -type chartTokensType = { - border: string, - borderRadius: string, - header: chartsChartTokensTypeHeaderConfig, - content: chartsChartTokensTypeContentConfig, -} -type responsiveChartTokens = { - sm: chartTokensType, - lg: chartTokensType, -} -type chartsDataPointPrimaryConfig = { - label: string, - val: float, -} -type chartsDataPointAuxConfig = { - label: string, - val: float, - @as("type") type_?: axisType, - dateOnly?: bool, - smart?: bool, - timeZone?: string, - hour12?: bool, -} -type chartsDataPointErrorErrorDataConfig = { - label: string, - value: string, -} -type chartsDataPointErrorConfig = { - title: string, - errorData?: array, -} -type dataPoint = { - primary: chartsDataPointPrimaryConfig, - aux?: array, - error?: chartsDataPointErrorConfig, -} -type newNestedDataPoint = { - name: string, - data: Dict.t, -} -type chartsColorsConfig = { - key: string, - color: string, -} -type stackedLegendsDataPoint = { - value: float, - delta: float, - changeType: legendsChangeType, -} -type chartsTickPropsPayloadConfig = { - value: CommonTypes.stringOrNumber, - index?: int, - coordinate?: float, -} -type tickProps = { - x?: float, - y?: float, - payload?: chartsTickPropsPayloadConfig, -} -@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" -type axisConfig = { - label?: string, - showLabel?: bool, - interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, - show?: bool, - @as("type") type_?: axisType, - tickFormatter?: CommonTypes.stringOrNumber => string, - customTick?: React.component, - dateOnly?: bool, - useUTC?: bool, - formatString?: string, - timeOnly?: bool, - showYear?: bool, - ticks?: array, - autoConsistentTicks?: bool, - maxTicks?: float, - smartDateTimeFormat?: bool, -} -type chartsTooltipConfigPositionConfig = { - x?: float, - y?: float, -} -type chartsTooltipConfigAllowEscapeViewBoxConfig = { - x?: bool, - y?: bool, -} -type tooltipConfig = { - position?: chartsTooltipConfigPositionConfig, - allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, -} -type noDataProps = { - title?: string, - subtitle?: string, - slot?: React.element, - button?: ButtonTypes.buttonProps, -} -type chartsSkeletonProps = { - show: bool, - variant: SkeletonTypes.skeletonVariant, -} -type chartsLegendsConfig = { - title: string, - total?: string, -} -type chartsDotItemDotPropsPayloadConfig = { - name?: string, -} -type dotItemDotProps = { - cx?: float, - cy?: float, - value?: float, - payload?: chartsDotItemDotPropsPayloadConfig, -} -type chartsPayloadConfig = { - name: string, - id?: string, - color?: string, - value?: float, -} -type chartsSankeyTooltipDataPayloadConfig = { - name?: string, - value?: float, - source?: CommonTypes.stringOrNumber, - target?: CommonTypes.stringOrNumber, - sourceName?: string, - targetName?: string, - color?: string, - hoverColor?: string, -} -type sankeyTooltipData = { - payload: chartsSankeyTooltipDataPayloadConfig, -} -type sankeyLink = { - source: CommonTypes.stringOrNumber, - target: CommonTypes.stringOrNumber, - value: float, - color?: string, - hoverColor?: string, -} + | @as("triangle-down") TriangleDown type axisAccessibilityOptionsObject = { description?: string, enabled?: bool, @@ -825,7 +461,7 @@ type xAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1605,7 +1241,7 @@ type chartParallelAxesTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1710,7 +1346,7 @@ type colorAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -3139,8 +2775,8 @@ module ChartsSeriesAtrOptionsOnPoint = { } type borderRadiusOptionsObject = { radius: CommonTypes.stringOrNumber, - scope: chartsBorderRadiusOptionsObjectScope, - where: chartsBorderRadiusOptionsObjectWhere, + scope: ChartsTypes.chartsBorderRadiusOptionsObjectScope, + where: ChartsTypes.chartsBorderRadiusOptionsObjectWhere, } @unboxed type stringOrNumberOrBorderRadiusOptionsObject = Str(string) | Num(float) | BorderRadiusOptionsObject(borderRadiusOptionsObject) module ChartsSeriesBarOptionsDataSorting = { @@ -5090,7 +4726,7 @@ type plotOrganizationLinkOptions = { color?: string, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotOrganizationOnPointOptionsConnectorOptions = { type t @@ -6222,7 +5858,7 @@ type plotTreegraphLinkOptions = { curveFactor?: float, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotTreegraphOnPointOptionsConnectorOptions = { type t @@ -10406,11 +10042,11 @@ and plotSankeyOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -11583,7 +11219,7 @@ and plotOrganizationOptions<'a, 'b, 'c> = { getExtremesFromAll?: bool, hangingIndent?: float, hangingIndentTranslation?: organizationHangingIndentTranslationValue, - hangingSide?: chartsSeriesOrganizationOptionsHangingSide, + hangingSide?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, inactiveOtherPoints?: bool, includeInDataExport?: bool, keys?: array, @@ -11591,12 +11227,12 @@ and plotOrganizationOptions<'a, 'b, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array>, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -14400,7 +14036,7 @@ and plotDependencywheelOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -16335,7 +15971,7 @@ and plotArcdiagramOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -20000,11 +19636,11 @@ and seriesSankeyOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -21424,7 +21060,7 @@ and seriesOrganizationOptions<'b, 'a, 'c> = { getExtremesFromAll?: bool, hangingIndent?: float, hangingIndentTranslation?: organizationHangingIndentTranslationValue, - hangingSide?: chartsSeriesOrganizationOptionsHangingSide, + hangingSide?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, inactiveOtherPoints?: bool, includeInDataExport?: bool, keys?: array, @@ -21432,12 +21068,12 @@ and seriesOrganizationOptions<'b, 'a, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -25014,7 +24650,7 @@ and seriesDependencywheelOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -27527,7 +27163,7 @@ and seriesArcdiagramOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -27919,7 +27555,7 @@ and tooltipPositionerPointObject<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c>, option, option) => unit, // ⚪ loose — was `boolean | Partial` @@ -29263,7 +28899,7 @@ and point<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (string, option, option) => unit, // ⚪ loose — was `PointOptionsType` @@ -29306,7 +28942,7 @@ and series<'a, 'b, 'c> = { searchPoint: (string, option) => point<'a, 'b, 'c>, // ⚪ loose — was `PointerEvent` select: option => unit, setData: (array, option, option, option) => unit, // ⚪ loose — was `boolean | Partial` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, show: unit => unit, translate: unit => unit, @@ -29877,7 +29513,7 @@ and chart<'a, 'b, 'c> = { @unboxed and seriesArcDiagramDataLabelsOptionsObjectOrSeriesArcDiagramDataLabelsOptionsObjectArray<'a, 'b, 'c> = SeriesArcDiagramDataLabelsOptionsObject(seriesArcDiagramDataLabelsOptionsObject<'a, 'b, 'c>) | SeriesArcDiagramDataLabelsOptionsObjectArr(array>) @unboxed and plotAoDataLabelsOptionsOrPlotAoDataLabelsOptionsArray<'a, 'b, 'c> = PlotAoDataLabelsOptions(plotAoDataLabelsOptions<'a, 'b, 'c>) | PlotAoDataLabelsOptionsArr(array>) @unboxed and plotAdDataLabelsOptionsOrPlotAdDataLabelsOptionsArray<'a, 'b, 'c> = PlotAdDataLabelsOptions(plotAdDataLabelsOptions<'a, 'b, 'c>) | PlotAdDataLabelsOptionsArr(array>) -@unboxed and pointOrPointArray<'a, 'b, 'c> = PointPointArray(point<'a, 'b, 'c>) | PointArr(array>) +@unboxed and pointOrPointArray<'a, 'b, 'c> = Point(point<'a, 'b, 'c>) | PointArr(array>) @unboxed and stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c> = Str(string) | Num(float) | Arr(array) | PointOptionsObject(pointOptionsObject<'a, 'b, 'c>) @unboxed and plotAbandsDataLabelsOptionsOrPlotAbandsDataLabelsOptionsArray<'a, 'b, 'c> = PlotAbandsDataLabelsOptions(plotAbandsDataLabelsOptions<'a, 'b, 'c>) | PlotAbandsDataLabelsOptionsArr(array>) @unboxed and boolOrAxisCrosshairOptions<'a, 'b, 'c> = Bool(bool) | AxisCrosshairOptions(axisCrosshairOptions<'a, 'b, 'c>) @@ -30968,149 +30604,6 @@ module AxisOptions = { external fromZAxisOptions: zAxisOptions<'a, 'b, 'c> => t = "%identity" external asZAxisOptions: t => (zAxisOptions<'a, 'b, 'c>) = "%identity" } -type defsArrowAttributesOptions = { - id?: string, - markerHeight?: float, - markerWidth?: float, - refX?: float, - refY?: float, -} -type defsReverseArrowOptions = { - attributes?: defsArrowAttributesOptions, - tagName?: string, -} -module ChartsDefsOptionsReverseArrow = { - type t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsReverseArrowOptions: defsReverseArrowOptions => t = "%identity" - external asDefsReverseArrowOptions: t => (defsReverseArrowOptions) = "%identity" -} -type chartsDefsOptionsArrow_t -type rec defsArrowOptions = { - attributes?: defsArrowAttributesOptions, - children?: array, - tagName?: string, -} -and defsOptions = { - arrow?: chartsDefsOptionsArrow_t, - @as("reverse-arrow") reverseArrow?: ChartsDefsOptionsReverseArrow.t, -} -module ChartsDefsOptionsArrow = { - type t = chartsDefsOptionsArrow_t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsArrowOptions: defsArrowOptions => t = "%identity" - external asDefsArrowOptions: t => (defsArrowOptions) = "%identity" -} -type dragDropGuideBoxOptionsObject = { - className?: string, - color?: string, // ⚪ loose — was `ColorType` - cursor?: string, - lineColor?: string, - lineWidth?: float, - zIndex?: int, -} -type plotOptionsSeriesDragDropGuideBoxOptions = { - default?: dragDropGuideBoxOptionsObject, -} -type exportingButtonsOptionsObject = { - align?: alignValue, - buttonSpacing?: float, - className?: string, - enabled?: bool, - height?: float, - menuClassName?: string, - menuItems?: array, - onclick?: JsFn.t, - symbol?: string, - symbolFill?: ColorType.t, - symbolSize?: float, - symbolStroke?: string, - symbolStrokeWidth?: float, - symbolX?: float, - symbolY?: float, - text?: string, - theme?: exportingButtonsContextButtonThemeOptions, - titleKey?: string, - useHTML?: bool, - verticalAlign?: verticalAlignValue, - width?: float, - x?: float, - y?: float, -} -type exportingButtonsOptions = { - contextButton?: exportingButtonsOptionsObject, -} -type exportingMenuItemDefinitionsDownloadCSVOptions = { - textKey?: string, -} -type exportingMenuItemDefinitionsSeparatorOptions = { - separator?: bool, -} -type exportingMenuItemDefinitionsOptions = { - downloadCSV?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadJPEG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPDF?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPNG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadSVG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadXLS?: exportingMenuItemDefinitionsDownloadCSVOptions, - printChart?: exportingMenuItemDefinitionsDownloadCSVOptions, - separator?: exportingMenuItemDefinitionsSeparatorOptions, - viewData?: exportingMenuItemDefinitionsDownloadCSVOptions, - viewFullscreen?: exportingMenuItemDefinitionsDownloadCSVOptions, -} -type exportingMenuObject<'a, 'b, 'c> = { - onclick?: @this ((chart<'a, 'b, 'c>, option, option>) => option), // ⚠️ REVIEW — was `Event | Dictionary` — match the real type by hand - separator?: bool, - text?: string, - textKey?: string, -} -module ChartsSeriesMapDataGeometryOptionsCoordinates = { - type t - external fromArray: array => t = "%identity" - external asArray: t => (array) = "%identity" - external fromLonLatArrays: array> => t = "%identity" - external asLonLatArrays: t => (array>) = "%identity" -} -type seriesMapDataGeometryOptions = { - coordinates?: array, - @as("type") type_?: mapGeometryTypeValue, -} -module ChartsSeriesMapDataOptionsGeometry = { - type t - external fromJSON: JSON.t => t = "%identity" - external asJSON: t => (JSON.t) = "%identity" - external fromSeriesMapDataGeometryOptions: seriesMapDataGeometryOptions => t = "%identity" - external asSeriesMapDataGeometryOptions: t => (seriesMapDataGeometryOptions) = "%identity" -} -type seriesMapDataOptions<'a, 'b, 'c> = { - color?: ColorType.t, - dataLabels?: dataLabelsOptions, - drilldown?: string, - events?: pointEventsOptionsObject<'a, 'b, 'c>, - geometry?: ChartsSeriesMapDataOptionsGeometry.t, - id?: string, - labelrank?: float, - middleX?: float, - middleY?: float, - name?: string, - path?: string, - states?: seriesStatesOptionsObject, - value?: float, -} -type blendChartProps<'a, 'b, 'c> = { - allowChartUpdate?: bool, - constructorType?: chartsBlendChartPropsConstructorType, - containerProps?: Dict.t, // 🛑 BROKEN — contains `any` - highcharts?: InstanceTypes.highchartsModule, - immutable?: bool, - options?: options<'a, 'b, 'c>, - updateArgs?: array, - callback?: chart<'a, 'b, 'c> => unit, -} -@set_index external blendChartPropsSet: (blendChartProps<'a, 'b, 'c>, string, JSON.t) => unit = "" -@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) module SetStateAction = { type t external fromPoint: point<'a, 'b, 'c> => t = "%identity" diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyLink.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyLink.res index 6165d04..7049da9 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyLink.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyLink.res @@ -7,9 +7,9 @@ type props = { targetControlX?: float, linkWidth?: float, index?: int, - payload?: HighchartsSharedTypes.sankeyLink, - linkColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + payload?: ChartsTypes.sankeyLink, + linkColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyNode.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyNode.res index b4e64c7..eccb76f 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyNode.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/SankeyNode.res @@ -4,10 +4,10 @@ type props = { width?: float, height?: float, index?: int, - payload?: HighchartsSharedTypes.chartsPayloadConfig, + payload?: ChartsTypes.chartsPayloadConfig, containerWidth?: float, - nodeColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + nodeColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCard.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCard.res index 4e0104d..c9dd32a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCard.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCard.res @@ -15,7 +15,7 @@ type props = { minWidth?: string, xAxis?: StatCardTypes.statCardAxisConfig, yAxis?: StatCardTypes.statCardAxisConfig, - valueFormatter?: HighchartsSharedTypes.axisType, + valueFormatter?: ChartsTypes.axisType, height?: string, direction?: StatCardTypes.statCardDirection, skeleton?: StatCardTypes.statCardSkeletonProps, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCardTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCardTypes.res index ba3fd1e..9d2cc81 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCardTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/StatCardTypes.res @@ -151,7 +151,7 @@ type chartDataPoint = { name: string, } type statCardAxisConfig = { - @as("type") type_?: HighchartsSharedTypes.axisType, + @as("type") type_?: ChartsTypes.axisType, tickFormatter?: CommonTypes.stringOrNumber => string, dateOnly?: bool, useUTC?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Tag.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Tag.res index 63fb30b..c0abb39 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Tag.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/Tag.res @@ -98,7 +98,7 @@ type props = { shape?: TagsTypes.tagShape, leftSlot?: React.element, rightSlot?: React.element, - splitTagPosition?: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + splitTagPosition?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, showSkeleton?: bool, skeletonVariant?: SkeletonTypes.skeletonVariant, ref?: React.ref>, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/_REPORT.md b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/_REPORT.md index e35a915..38d0b3b 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/_REPORT.md +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/bindings/_REPORT.md @@ -4,7 +4,7 @@ **249** function binding(s) → `BlendDesignSystemBindings.res`. -**3309** shared types deduplicated into **74** `*Types.res` modules (referenced qualified — no per-file redeclaration). +**3289** shared types deduplicated into **75** `*Types.res` modules (referenced qualified — no per-file redeclaration). ## 🔤 Constructor name collisions @@ -29,15 +29,11 @@ A bare constant, an identity payload and a `@tag`-injected object are different | `EditorSharedTypes` | `Text` | `1` / `"text"` | `TextMouseStyle`, `TextTagType`, `TextRenderMinimap` | | `EditorSharedTypes` | `WordWrapColumn` | `152` / `"wordWrapColumn"` | `WordWrapColumnWordWrap`, `WordWrapColumnEditorOption` | | `DataTableTypes` | `DateRange` | `"date_range"` / `"dateRange"` | `DateRangeColumnType`, `DateRangeTypeType`, `DateRangeFilterComponent` | -| `HighchartsSharedTypes` | `Point` | `"point"` / `(payload, passed through)` / `"Point"` | `PointConstructorType`, `PointObjectScope`, `PointPointArray` | -| `HighchartsSharedTypes` | `Pointer` | `"pointer"` / `"Pointer"` | `PointerConstructorType`, `PointerCursorValue` | -| `HighchartsSharedTypes` | `Polygon` | `"polygon"` / `"Polygon"` | `PolygonTypeValue`, `PolygonInterpolationValue` | -| `HighchartsSharedTypes` | `Series` | `"series"` / `"Series"` | `SeriesConstructorType`, `SeriesWithinValue` | +| `ChartsTypes` | `Point` | `"point"` / `"Point"` | `PointConstructorType`, `PointObjectScope` | | `HighchartsSharedTypes` | `Solid` | `"Solid"` / `"solid"` | `SolidStyleValue`, `SolidShapeValue` | -| `HighchartsSharedTypes` | `TriangleDown` | `"triangle-down"` / `"triangleDown"` | `TriangleDownConstructorType`, `TriangleDownKeyValue` | -| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValuePointSetState`, `ValueSeriesSetState`, `ValueOptionsCompare`, `ValueOptionsGapUnit`, `ValueOptionsOperator` | +| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValueOptionsCompare`, `ValueGapUnit`, `ValueOptionsOperator` | -### Left as-is — same name, same runtime representation (143) +### Left as-is — same name, same runtime representation (140) These produce the same runtime shape whichever definition wins, so renaming them would churn every consumer for no correctness gain. Listed because the ambiguity is still there to read. @@ -49,12 +45,13 @@ These produce the same runtime shape whichever definition wins, so renaming them - `DataTableTypes`: `Avatar`, `Custom`, `Date`, `Decimal`, `Dropdown`, `Error`, `Multiselect`, `Number`, `Percentage`, `Primary`, `Progress`, `ReactElement`, `Secondary`, `Select`, `Slider`, `Success`, `Tag`, `Text`, `Warning` - `DateRangePickerTypes`: `Custom` - `ProgressBarTypes`: `Segmented`, `Solid` -- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Bottom`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `End`, `Flap`, `Fn`, `High`, `Horizontal`, `Hover`, `Inactive`, `Inside`, `Justify`, `Left` … +35 more +- `ChartsTypes`: `Chart`, `End`, `Hover`, `Inactive`, `Normal`, `Offset`, `Right`, `Select`, `Top`, `Value` - `SkeletonTypes`: `Circle` - `UploadTypes`: `Error`, `Success` - `ButtonV2Types`: `Default`, `Disabled` - `TooltipV2Types`: `Left`, `Right` - `CommonTypes`: `Arr`, `Auto`, `Bool`, `Fn`, `Interval`, `N0`, `N1`, `N2`, `N3`, `N4`, `Num`, `Off`, `On`, `Relative`, `Str`, `StrArr` +- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `Fn`, `High`, `Horizontal`, `Inside`, `Justify`, `Left`, `Linear`, `Logarithmic`, `Low`, `Meta`, `Middle` … +22 more - `SliderTypes`: `Bottom`, `Inline`, `Top` ## 📦 Dependencies diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/metrics.json b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/metrics.json index 6ca6071..8691854 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/metrics.json +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37-beta.8/metrics.json @@ -11,5 +11,5 @@ }, "functions": 249, "classes": 0, - "files": 300 + "files": 301 } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendChart.res index f0e4826..42b7484 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendChart.res @@ -1,7 +1,7 @@ type props<'a, 'b, 'c, 't7> = { ref?: React.ref>>, allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'t7>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendDesignSystemBindings.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendDesignSystemBindings.res index 455bd71..6e9264a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendDesignSystemBindings.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/BlendDesignSystemBindings.res @@ -10,7 +10,7 @@ @module("@juspay/blend-design-system") external normalizeBreadcrumbItems: (array) => array = "normalizeBreadcrumbItems" @module("@juspay/blend-design-system") external getButtonTokens: (TokensTypes.foundationTokenType) => ButtonTypes.responsiveButtonTokens = "getButtonTokens" @module("@juspay/blend-design-system") external getCardTokens: (TokensTypes.foundationTokenType) => CardTypes.responsiveCardTokens = "getCardTokens" -@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => HighchartsSharedTypes.responsiveChartTokens = "getChartTokens" +@module("@juspay/blend-design-system") external getChartTokens: (TokensTypes.foundationTokenType) => ChartsTypes.responsiveChartTokens = "getChartTokens" @module("@juspay/blend-design-system") external blendChartBaseInstance: InstanceTypes.highchartsModule = "BlendChartBaseInstance" @module("@juspay/blend-design-system") external getChatInputTokens: (TokensTypes.foundationTokenType) => ChatInputTypes.responsiveChatInputTokensType = "getChatInputTokens" @module("@juspay/blend-design-system") external validateColumnData: DataTableTypes.dataTableValidateColumnDataConfig = "validateColumnData" diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartLegends.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartLegends.res index bd23b31..44901cf 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartLegends.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartLegends.res @@ -1,7 +1,7 @@ type props = { chartContainerRef: React.ref>, keys: array, - colors: array, + colors: array, handleLegendClick: string => unit, handleLegendEnter: string => unit, handleLegendLeave: unit => unit, @@ -11,8 +11,8 @@ type props = { activeKeys: Nullable.t>, stacked?: bool, isSmallScreen?: bool, - stackedLegendsData?: array, - legends?: array, + stackedLegendsData?: array, + legends?: array, showAllLegends?: bool, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartV2.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartV2.res index b48295c..bf43506 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartV2.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartV2.res @@ -1,6 +1,6 @@ type props<'a, 'b, 'c> = { allowChartUpdate?: bool, - constructorType?: HighchartsSharedTypes.chartsBlendChartPropsConstructorType, + constructorType?: ChartsTypes.chartsBlendChartPropsConstructorType, containerProps?: Dict.t<'a>, highcharts?: InstanceTypes.highchartsModule, immutable?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Charts.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Charts.res index 009943b..6b695cb 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Charts.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Charts.res @@ -1,29 +1,29 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data?: Nullable.t>, - colors?: array, + chartType?: ChartsTypes.chartType, + data?: Nullable.t>, + colors?: array, slot1?: React.element, slot2?: React.element, slot3?: React.element, - legendPosition?: HighchartsSharedTypes.chartLegendPosition, + legendPosition?: ChartsTypes.chartLegendPosition, chartHeaderSlot: React.element, stackedLegends?: bool, - stackedLegendsData?: array, + stackedLegendsData?: array, showAllLegends?: bool, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, - noData?: HighchartsSharedTypes.noDataProps, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, + noData?: ChartsTypes.noDataProps, height?: float, showHeader?: bool, showCollapseIcon?: bool, isExpanded?: bool, onExpandedChange?: bool => unit, chartName?: string, - skeleton?: HighchartsSharedTypes.chartsSkeletonProps, - legends?: array, - @as("CustomizedDot") customizedDot?: HighchartsSharedTypes.dotItemDotProps => React.element, + skeleton?: ChartsTypes.chartsSkeletonProps, + legends?: array, + @as("CustomizedDot") customizedDot?: ChartsTypes.dotItemDotProps => React.element, lineSeriesKeys?: array, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartsTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartsTypes.res new file mode 100644 index 0000000..16b4ab4 --- /dev/null +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/ChartsTypes.res @@ -0,0 +1,360 @@ +type chartType = + | @as("line") Line + | @as("bar") Bar + | @as("lineBar") LineBar + | @as("pie") Pie + | @as("scatter") Scatter + | @as("area") Area + | @as("sankey") Sankey +type axisType = + | @as("dateTime") DateTime + | @as("currency") Currency + | @as("percentage") Percentage + | @as("number") Number +type chartLegendPosition = + | @as("top") Top + | @as("right") Right +type legendsChangeType = + | @as("increase") Increase + | @as("decrease") Decrease +type chartsXAxisTitleOptionsPosition3d = + | @as("offset") Offset + | @as("chart") Chart + | @as("flap") Flap + | @as("ortho") Ortho +type chartsSeriesSetState = + | @as("") Value + | @as("normal") Normal + | @as("inactive") Inactive + | @as("hover") Hover + | @as("select") Select +type chartsPointSetState = + | @as("") Value + | @as("normal") Normal + | @as("inactive") Inactive + | @as("hover") Hover + | @as("select") Select +type chartsSeriesArcdiagramOptionsLinkColorMode = + | @as("from") From + | @as("to") To + | @as("gradient") Gradient +type chartsBorderRadiusOptionsObjectScope = + | @as("point") PointObjectScope + | @as("stack") Stack +type chartsBorderRadiusOptionsObjectWhere = + | @as("all") All + | @as("end") End +type chartsSeriesOrganizationOptionsHangingSide = + | @as("left") Left + | @as("right") Right +type chartsPlotOrganizationLinkOptionsType = + | @as("straight") Straight + | @as("curved") Curved + | @as("orthogonal") Orthogonal +type chartsSeriesOrganizationOptionsNodeAlignment = + | @as("top") Top + | @as("bottom") Bottom + | @as("center") Center +type chartsBlendChartPropsConstructorType = + | @as("width") Width + | @as("height") Height + | @as("color") Color + | @as("error") Error + | @as("open") Open + | @as("end") End + | @as("start") Start + | @as("wrap") Wrap + | @as("x") X + | @as("y") Y + | @as("circle") Circle + | @as("triangle") Triangle + | @as("find") Find + | @as("backgroundSize") BackgroundSize + | @as("offset") Offset + | @as("chart") Chart + | @as("animate") Animate + | @as("arc") Arc + | @as("callout") Callout + | @as("diamond") Diamond + | @as("format") Format + | @as("rect") Rect + | @as("addEvent") AddEvent + | @as("animObject") AnimObject + | @as("arrayMax") ArrayMax + | @as("arrayMin") ArrayMin + | @as("attr") Attr + | @as("correctFloat") CorrectFloat + | @as("createElement") CreateElement + | @as("css") Css + | @as("dateFormat") DateFormat + | @as("defined") Defined + | @as("destroyObjectProperties") DestroyObjectProperties + | @as("discardElement") DiscardElement + | @as("erase") Erase + | @as("extend") Extend + | @as("extendClass") ExtendClass + | @as("fireEvent") FireEvent + | @as("getDeferredAnimation") GetDeferredAnimation + | @as("getMagnitude") GetMagnitude + | @as("getOptions") GetOptions + | @as("getStyle") GetStyle + | @as("isArray") IsArray + | @as("isClass") IsClass + | @as("isDOMElement") IsDOMElement + | @as("isFunction") IsFunction + | @as("isNumber") IsNumber + | @as("isObject") IsObject + | @as("isString") IsString + | @as("merge") Merge + | @as("normalizeTickInterval") NormalizeTickInterval + | @as("numberFormat") NumberFormat + | @as("objectEach") ObjectEach + | @as("pad") Pad + | @as("pick") Pick + | @as("relativeLength") RelativeLength + | @as("removeEvent") RemoveEvent + | @as("seriesType") SeriesType + | @as("setAnimation") SetAnimation + | @as("setOptions") SetOptions + | @as("splat") Splat + | @as("stableSort") StableSort + | @as("stop") Stop + | @as("syncTimeout") SyncTimeout + | @as("uniqueKey") UniqueKey + | @as("useSerialIds") UseSerialIds + | @as("centerImage") CenterImage + | @as("dateTimeFormat") DateTimeFormat + | @as("deleteRows") DeleteRows + | @as("getColumn") GetColumn + | @as("getColumns") GetColumns + | @as("getLogTickPositions") GetLogTickPositions + | @as("getModified") GetModified + | @as("getRendererType") GetRendererType + | @as("getRow") GetRow + | @as("modifyTree") ModifyTree + | @as("registerRendererType") RegisterRendererType + | @as("registerSeriesType") RegisterSeriesType + | @as("roundedRect") RoundedRect + | @as("setColumn") SetColumn + | @as("setColumns") SetColumns + | @as("setRow") SetRow + | @as("str2dtf") Str2dtf + | @as("triangleDown") TriangleDown + | @as("unescapeEntities") UnescapeEntities + | @as("Annotation") Annotation + | @as("AnnotationControlPoint") AnnotationControlPoint + | @as("AST") AST + | @as("Axis") Axis + | @as("Chart") Chart2 + | @as("Color") Color2 + | @as("DataTable") DataTable + | @as("DataTableCore") DataTableCore + | @as("Legend") Legend + | @as("PlotLineOrBand") PlotLineOrBand + | @as("Point") PointConstructorType + | @as("Pointer") Pointer + | @as("Series") Series + | @as("StackItem") StackItem + | @as("SVGElement") SVGElement + | @as("SVGLabel") SVGLabel + | @as("SVGRenderer") SVGRenderer + | @as("Tick") Tick + | @as("Time") Time + | @as("Tooltip") Tooltip + | @as("charts") Charts + | @as("dateFormats") DateFormats + | @as("defaultOptions") DefaultOptions + | @as("theme") Theme + | @as("anchorX") AnchorX + | @as("anchorY") AnchorY + | @as("clockwise") Clockwise + | @as("context") Context + | @as("innerR") InnerR + | @as("longArc") LongArc + | @as("r") R +type chartsChartTokensTypeHeaderPaddingConfig = { + x: string, + y: string, +} +type chartsChartTokensTypeHeaderSlotsConfig = { + gap: string, +} +type chartsChartTokensTypeHeaderConfig = { + padding: chartsChartTokensTypeHeaderPaddingConfig, + backgroundColor: string, + borderBottom: string, + borderRadius: string, + slots: chartsChartTokensTypeHeaderSlotsConfig, +} +type chartsChartTokensTypeContentLegendDropdownConfig = { + maxHeight: string, +} +type chartsChartTokensTypeContentLegendItemColorConfig = { + active: string, + default: string, + hover: string, + total: string, +} +type chartsChartTokensTypeContentLegendItemConfig = { + gap: string, + color: chartsChartTokensTypeContentLegendItemColorConfig, + fontSize: string, + fontWeight: string, +} +type chartsChartTokensTypeContentLegendConfig = { + gap: string, + dropdown: chartsChartTokensTypeContentLegendDropdownConfig, + item: chartsChartTokensTypeContentLegendItemConfig, +} +type chartsChartTokensTypeContentPaddingConfig = { + top: string, + right: string, + bottom: string, + left: string, +} +type chartsChartTokensTypeContentConfig = { + legend: chartsChartTokensTypeContentLegendConfig, + padding: chartsChartTokensTypeContentPaddingConfig, + gap: string, + backgroundColor: string, +} +type chartTokensType = { + border: string, + borderRadius: string, + header: chartsChartTokensTypeHeaderConfig, + content: chartsChartTokensTypeContentConfig, +} +type responsiveChartTokens = { + sm: chartTokensType, + lg: chartTokensType, +} +type chartsDataPointPrimaryConfig = { + label: string, + val: float, +} +type chartsDataPointAuxConfig = { + label: string, + val: float, + @as("type") type_?: axisType, + dateOnly?: bool, + smart?: bool, + timeZone?: string, + hour12?: bool, +} +type chartsDataPointErrorErrorDataConfig = { + label: string, + value: string, +} +type chartsDataPointErrorConfig = { + title: string, + errorData?: array, +} +type dataPoint = { + primary: chartsDataPointPrimaryConfig, + aux?: array, + error?: chartsDataPointErrorConfig, +} +type newNestedDataPoint = { + name: string, + data: Dict.t, +} +type chartsColorsConfig = { + key: string, + color: string, +} +type stackedLegendsDataPoint = { + value: float, + delta: float, + changeType: legendsChangeType, +} +type chartsTickPropsPayloadConfig = { + value: CommonTypes.stringOrNumber, + index?: int, + coordinate?: float, +} +type tickProps = { + x?: float, + y?: float, + payload?: chartsTickPropsPayloadConfig, +} +@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" +type axisConfig = { + label?: string, + showLabel?: bool, + interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, + show?: bool, + @as("type") type_?: axisType, + tickFormatter?: CommonTypes.stringOrNumber => string, + customTick?: React.component, + dateOnly?: bool, + useUTC?: bool, + formatString?: string, + timeOnly?: bool, + showYear?: bool, + ticks?: array, + autoConsistentTicks?: bool, + maxTicks?: float, + smartDateTimeFormat?: bool, +} +type chartsTooltipConfigPositionConfig = { + x?: float, + y?: float, +} +type chartsTooltipConfigAllowEscapeViewBoxConfig = { + x?: bool, + y?: bool, +} +type tooltipConfig = { + position?: chartsTooltipConfigPositionConfig, + allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, +} +type noDataProps = { + title?: string, + subtitle?: string, + slot?: React.element, + button?: ButtonTypes.buttonProps, +} +type chartsSkeletonProps = { + show: bool, + variant: SkeletonTypes.skeletonVariant, +} +type chartsLegendsConfig = { + title: string, + total?: string, +} +type chartsDotItemDotPropsPayloadConfig = { + name?: string, +} +type dotItemDotProps = { + cx?: float, + cy?: float, + value?: float, + payload?: chartsDotItemDotPropsPayloadConfig, +} +type chartsPayloadConfig = { + name: string, + id?: string, + color?: string, + value?: float, +} +type chartsSankeyTooltipDataPayloadConfig = { + name?: string, + value?: float, + source?: CommonTypes.stringOrNumber, + target?: CommonTypes.stringOrNumber, + sourceName?: string, + targetName?: string, + color?: string, + hoverColor?: string, +} +type sankeyTooltipData = { + payload: chartsSankeyTooltipDataPayloadConfig, +} +type sankeyLink = { + source: CommonTypes.stringOrNumber, + target: CommonTypes.stringOrNumber, + value: float, + color?: string, + hoverColor?: string, +} +@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/CoreChart.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/CoreChart.res index 467ef74..0ce8c6b 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/CoreChart.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/CoreChart.res @@ -1,11 +1,11 @@ type props = { - chartType?: HighchartsSharedTypes.chartType, - data?: Nullable.t>, - colors?: array, + chartType?: ChartsTypes.chartType, + data?: Nullable.t>, + colors?: array, barsize?: float, - xAxis?: HighchartsSharedTypes.axisConfig, - yAxis?: HighchartsSharedTypes.axisConfig, - tooltip?: HighchartsSharedTypes.tooltipConfig, + xAxis?: ChartsTypes.axisConfig, + yAxis?: ChartsTypes.axisConfig, + tooltip?: ChartsTypes.tooltipConfig, height?: CommonTypes.stringOrNumber, width?: CommonTypes.stringOrNumber, isSmallScreen?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/EditorSharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/EditorSharedTypes.res index 7d2b875..baf5122 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/EditorSharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/EditorSharedTypes.res @@ -1695,7 +1695,7 @@ type componentTokenType = { @as("STAT_CARD") statCard?: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar?: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer?: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts?: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts?: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar?: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper?: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair?: KeyValuePairTypes.responsiveKeyValuePairTokens, @@ -1778,7 +1778,7 @@ type contextThemeContextTypeComponentTokensConfig = { @as("STAT_CARD") statCard: StatCardTypes.responsiveStatCardTokens, @as("PROGRESS_BAR") progressBar: ProgressBarTypes.responsiveProgressBarTokens, @as("DRAWER") drawer: DrawerTypes.responsiveDrawerTokens, - @as("CHARTS") charts: HighchartsSharedTypes.responsiveChartTokens, + @as("CHARTS") charts: ChartsTypes.responsiveChartTokens, @as("SNACKBAR") snackbar: SnackbarTypes.responsiveSnackbarTokens, @as("STEPPER") stepper: StepperTypes.responsiveStepperTokens, @as("KEYVALUEPAIR") keyvaluepair: KeyValuePairTypes.responsiveKeyValuePairTokens, @@ -1969,7 +1969,7 @@ type embeddedSingleSelectOptions = { menuAlignment: SelectV2Types.selectV2Alignment, menuSideOffset: float, menuAlignOffset: float, - defaultSingleSelectGroupPosition: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + defaultSingleSelectGroupPosition: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, } type inputsV2FOCUSRINGSTYLESConfig = { boxShadow: string, @@ -2674,7 +2674,7 @@ type iEditorStickyScrollOptions = { type iEditorMinimapOptions = { enabled?: bool, autohide?: codeEditorV2IEditorMinimapOptionsAutohide, - side?: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + side?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, size?: codeEditorV2IEditorMinimapOptionsSize, showSlider?: codeEditorV2IEditorMinimapOptionsShowSlider, renderCharacters?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/HighchartsSharedTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/HighchartsSharedTypes.res index 2cb35ee..f1d0201 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/HighchartsSharedTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/HighchartsSharedTypes.res @@ -1,24 +1,5 @@ @@warning("-30") -type chartType = - | @as("line") Line - | @as("bar") Bar - | @as("lineBar") LineBar - | @as("pie") Pie - | @as("scatter") Scatter - | @as("area") Area - | @as("sankey") Sankey -type axisType = - | @as("dateTime") DateTime - | @as("currency") Currency - | @as("percentage") Percentage - | @as("number") Number -type chartLegendPosition = - | @as("top") Top - | @as("right") Right -type legendsChangeType = - | @as("increase") Increase - | @as("decrease") Decrease type dashStyleValue = | @as("Dash") Dash | @as("DashDot") DashDot @@ -41,7 +22,7 @@ type verticalAlignValue = | @as("middle") Middle type optionsGridLineInterpolationValue = | @as("circle") Circle - | @as("polygon") PolygonInterpolationValue + | @as("polygon") Polygon type optionsOverflowValue = | @as("justify") Justify | @as("allow") Allow @@ -63,23 +44,12 @@ type axisTitleAlignValue = | @as("middle") Middle | @as("high") High | @as("low") Low -type chartsXAxisTitleOptionsPosition3d = - | @as("offset") Offset - | @as("chart") Chart - | @as("flap") Flap - | @as("ortho") Ortho type axisTypeValue = | @as("linear") Linear | @as("treegrid") Treegrid | @as("category") Category | @as("datetime") Datetime | @as("logarithmic") Logarithmic -type chartsSeriesSetState = - | @as("") ValueSeriesSetState - | @as("normal") Normal - | @as("inactive") Inactive - | @as("hover") Hover - | @as("select") Select type svgPathCommand = | @as("a") A | @as("c") C @@ -101,12 +71,6 @@ type svgPathCommand = | @as("T") T2 | @as("V") V2 | @as("Z") Z2 -type chartsPointSetState = - | @as("") ValuePointSetState - | @as("normal") Normal - | @as("inactive") Inactive - | @as("hover") Hover - | @as("select") Select type bubbleSizeByValue = | @as("width") Width | @as("area") Area @@ -136,7 +100,7 @@ type cursorValue = | @as("ns-resize") NsResize | @as("nw-resize") NwResize | @as("nwse-resize") NwseResize - | @as("pointer") PointerCursorValue + | @as("pointer") Pointer | @as("progress") Progress | @as("row-resize") RowResize | @as("s-resize") SResize @@ -229,7 +193,7 @@ type optionsFindNearestPointByValue = | @as("x") X | @as("xy") Xy type optionsGapUnitValue = - | @as("value") ValueOptionsGapUnit + | @as("value") ValueGapUnit | @as("relative") Relative type optionsLegendSymbolValue = | @as("rectangle") Rectangle @@ -247,10 +211,6 @@ type optionsRelativeToValue = type optionsCompareValue = | @as("value") ValueOptionsCompare | @as("percent") Percent -type chartsSeriesArcdiagramOptionsLinkColorMode = - | @as("from") From - | @as("to") To - | @as("gradient") Gradient type optionsPointIntervalUnitValue = | @as("year") Year | @as("month") Month @@ -261,12 +221,6 @@ type optionsStackingValue = | @as("null") Null | @as("overlap") Overlap | @as("stream") Stream -type chartsBorderRadiusOptionsObjectScope = - | @as("point") PointObjectScope - | @as("stack") Stack -type chartsBorderRadiusOptionsObjectWhere = - | @as("all") All - | @as("end") End type optionsPointValKeyValue = | @as("open") Open | @as("high") High @@ -300,17 +254,6 @@ type organizationHangingIndentTranslationValue = | @as("inherit") Inherit | @as("cumulative") Cumulative | @as("shrink") Shrink -type chartsSeriesOrganizationOptionsHangingSide = - | @as("left") Left - | @as("right") Right -type chartsPlotOrganizationLinkOptionsType = - | @as("straight") Straight - | @as("curved") Curved - | @as("orthogonal") Orthogonal -type chartsSeriesOrganizationOptionsNodeAlignment = - | @as("top") Top - | @as("bottom") Bottom - | @as("center") Center type seriesOrganizationNodesLayoutValue = | @as("normal") Normal | @as("hanging") Hanging @@ -395,11 +338,6 @@ type optionsDropdownValue = | @as("always") Always | @as("never") Never | @as("responsive") Responsive -type mapGeometryTypeValue = - | @as("LineString") LineString - | @as("MultiLineString") MultiLineString - | @as("MultiPolygon") MultiPolygon - | @as("Polygon") PolygonTypeValue type synthPatchOscillatorType = | @as("square") Square | @as("triangle") Triangle @@ -412,7 +350,7 @@ type optionsMapFunctionValue = | @as("logarithmic") Logarithmic type optionsWithinValue = | @as("chart") Chart - | @as("series") SeriesWithinValue + | @as("series") Series | @as("xAxis") XAxis | @as("yAxis") YAxis type optionsValueMapFunctionValue = @@ -435,309 +373,7 @@ type symbolKeyValue = | @as("arc") Arc | @as("callout") Callout | @as("diamond") Diamond - | @as("triangle-down") TriangleDownKeyValue -type chartsBlendChartPropsConstructorType = - | @as("width") Width - | @as("height") Height - | @as("color") Color - | @as("error") Error - | @as("open") Open - | @as("end") End - | @as("start") Start - | @as("wrap") Wrap - | @as("x") X - | @as("y") Y - | @as("circle") Circle - | @as("triangle") Triangle - | @as("find") Find - | @as("backgroundSize") BackgroundSize - | @as("offset") Offset - | @as("chart") Chart - | @as("animate") Animate - | @as("arc") Arc - | @as("callout") Callout - | @as("diamond") Diamond - | @as("format") Format - | @as("rect") Rect - | @as("addEvent") AddEvent - | @as("animObject") AnimObject - | @as("arrayMax") ArrayMax - | @as("arrayMin") ArrayMin - | @as("attr") Attr - | @as("correctFloat") CorrectFloat - | @as("createElement") CreateElement - | @as("css") Css - | @as("dateFormat") DateFormat - | @as("defined") Defined - | @as("destroyObjectProperties") DestroyObjectProperties - | @as("discardElement") DiscardElement - | @as("erase") Erase - | @as("extend") Extend - | @as("extendClass") ExtendClass - | @as("fireEvent") FireEvent - | @as("getDeferredAnimation") GetDeferredAnimation - | @as("getMagnitude") GetMagnitude - | @as("getOptions") GetOptions - | @as("getStyle") GetStyle - | @as("isArray") IsArray - | @as("isClass") IsClass - | @as("isDOMElement") IsDOMElement - | @as("isFunction") IsFunction - | @as("isNumber") IsNumber - | @as("isObject") IsObject - | @as("isString") IsString - | @as("merge") Merge - | @as("normalizeTickInterval") NormalizeTickInterval - | @as("numberFormat") NumberFormat - | @as("objectEach") ObjectEach - | @as("pad") Pad - | @as("pick") Pick - | @as("relativeLength") RelativeLength - | @as("removeEvent") RemoveEvent - | @as("seriesType") SeriesType - | @as("setAnimation") SetAnimation - | @as("setOptions") SetOptions - | @as("splat") Splat - | @as("stableSort") StableSort - | @as("stop") Stop - | @as("syncTimeout") SyncTimeout - | @as("uniqueKey") UniqueKey - | @as("useSerialIds") UseSerialIds - | @as("centerImage") CenterImage - | @as("dateTimeFormat") DateTimeFormat - | @as("deleteRows") DeleteRows - | @as("getColumn") GetColumn - | @as("getColumns") GetColumns - | @as("getLogTickPositions") GetLogTickPositions - | @as("getModified") GetModified - | @as("getRendererType") GetRendererType - | @as("getRow") GetRow - | @as("modifyTree") ModifyTree - | @as("registerRendererType") RegisterRendererType - | @as("registerSeriesType") RegisterSeriesType - | @as("roundedRect") RoundedRect - | @as("setColumn") SetColumn - | @as("setColumns") SetColumns - | @as("setRow") SetRow - | @as("str2dtf") Str2dtf - | @as("triangleDown") TriangleDownConstructorType - | @as("unescapeEntities") UnescapeEntities - | @as("Annotation") Annotation - | @as("AnnotationControlPoint") AnnotationControlPoint - | @as("AST") AST - | @as("Axis") Axis - | @as("Chart") Chart2 - | @as("Color") Color2 - | @as("DataTable") DataTable - | @as("DataTableCore") DataTableCore - | @as("Legend") Legend - | @as("PlotLineOrBand") PlotLineOrBand - | @as("Point") PointConstructorType - | @as("Pointer") PointerConstructorType - | @as("Series") SeriesConstructorType - | @as("StackItem") StackItem - | @as("SVGElement") SVGElement - | @as("SVGLabel") SVGLabel - | @as("SVGRenderer") SVGRenderer - | @as("Tick") Tick - | @as("Time") Time - | @as("Tooltip") Tooltip - | @as("charts") Charts - | @as("dateFormats") DateFormats - | @as("defaultOptions") DefaultOptions - | @as("theme") Theme - | @as("anchorX") AnchorX - | @as("anchorY") AnchorY - | @as("clockwise") Clockwise - | @as("context") Context - | @as("innerR") InnerR - | @as("longArc") LongArc - | @as("r") R -type chartsChartTokensTypeHeaderPaddingConfig = { - x: string, - y: string, -} -type chartsChartTokensTypeHeaderSlotsConfig = { - gap: string, -} -type chartsChartTokensTypeHeaderConfig = { - padding: chartsChartTokensTypeHeaderPaddingConfig, - backgroundColor: string, - borderBottom: string, - borderRadius: string, - slots: chartsChartTokensTypeHeaderSlotsConfig, -} -type chartsChartTokensTypeContentLegendDropdownConfig = { - maxHeight: string, -} -type chartsChartTokensTypeContentLegendItemColorConfig = { - active: string, - default: string, - hover: string, - total: string, -} -type chartsChartTokensTypeContentLegendItemConfig = { - gap: string, - color: chartsChartTokensTypeContentLegendItemColorConfig, - fontSize: string, - fontWeight: string, -} -type chartsChartTokensTypeContentLegendConfig = { - gap: string, - dropdown: chartsChartTokensTypeContentLegendDropdownConfig, - item: chartsChartTokensTypeContentLegendItemConfig, -} -type chartsChartTokensTypeContentPaddingConfig = { - top: string, - right: string, - bottom: string, - left: string, -} -type chartsChartTokensTypeContentConfig = { - legend: chartsChartTokensTypeContentLegendConfig, - padding: chartsChartTokensTypeContentPaddingConfig, - gap: string, - backgroundColor: string, -} -type chartTokensType = { - border: string, - borderRadius: string, - header: chartsChartTokensTypeHeaderConfig, - content: chartsChartTokensTypeContentConfig, -} -type responsiveChartTokens = { - sm: chartTokensType, - lg: chartTokensType, -} -type chartsDataPointPrimaryConfig = { - label: string, - val: float, -} -type chartsDataPointAuxConfig = { - label: string, - val: float, - @as("type") type_?: axisType, - dateOnly?: bool, - smart?: bool, - timeZone?: string, - hour12?: bool, -} -type chartsDataPointErrorErrorDataConfig = { - label: string, - value: string, -} -type chartsDataPointErrorConfig = { - title: string, - errorData?: array, -} -type dataPoint = { - primary: chartsDataPointPrimaryConfig, - aux?: array, - error?: chartsDataPointErrorConfig, -} -type newNestedDataPoint = { - name: string, - data: Dict.t, -} -type chartsColorsConfig = { - key: string, - color: string, -} -type stackedLegendsDataPoint = { - value: float, - delta: float, - changeType: legendsChangeType, -} -type chartsTickPropsPayloadConfig = { - value: CommonTypes.stringOrNumber, - index?: int, - coordinate?: float, -} -type tickProps = { - x?: float, - y?: float, - payload?: chartsTickPropsPayloadConfig, -} -@set_index external tickPropsSet: (tickProps, string, JSON.t) => unit = "" -type axisConfig = { - label?: string, - showLabel?: bool, - interval?: CommonTypes.preserveStartOrPreserveEndOrPreserveStartEndOrNumber, - show?: bool, - @as("type") type_?: axisType, - tickFormatter?: CommonTypes.stringOrNumber => string, - customTick?: React.component, - dateOnly?: bool, - useUTC?: bool, - formatString?: string, - timeOnly?: bool, - showYear?: bool, - ticks?: array, - autoConsistentTicks?: bool, - maxTicks?: float, - smartDateTimeFormat?: bool, -} -type chartsTooltipConfigPositionConfig = { - x?: float, - y?: float, -} -type chartsTooltipConfigAllowEscapeViewBoxConfig = { - x?: bool, - y?: bool, -} -type tooltipConfig = { - position?: chartsTooltipConfigPositionConfig, - allowEscapeViewBox?: chartsTooltipConfigAllowEscapeViewBoxConfig, -} -type noDataProps = { - title?: string, - subtitle?: string, - slot?: React.element, - button?: ButtonTypes.buttonProps, -} -type chartsSkeletonProps = { - show: bool, - variant: SkeletonTypes.skeletonVariant, -} -type chartsLegendsConfig = { - title: string, - total?: string, -} -type chartsDotItemDotPropsPayloadConfig = { - name?: string, -} -type dotItemDotProps = { - cx?: float, - cy?: float, - value?: float, - payload?: chartsDotItemDotPropsPayloadConfig, -} -type chartsPayloadConfig = { - name: string, - id?: string, - color?: string, - value?: float, -} -type chartsSankeyTooltipDataPayloadConfig = { - name?: string, - value?: float, - source?: CommonTypes.stringOrNumber, - target?: CommonTypes.stringOrNumber, - sourceName?: string, - targetName?: string, - color?: string, - hoverColor?: string, -} -type sankeyTooltipData = { - payload: chartsSankeyTooltipDataPayloadConfig, -} -type sankeyLink = { - source: CommonTypes.stringOrNumber, - target: CommonTypes.stringOrNumber, - value: float, - color?: string, - hoverColor?: string, -} + | @as("triangle-down") TriangleDown type axisAccessibilityOptionsObject = { description?: string, enabled?: bool, @@ -825,7 +461,7 @@ type xAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1605,7 +1241,7 @@ type chartParallelAxesTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -1710,7 +1346,7 @@ type colorAxisTitleOptions = { align?: axisTitleAlignValue, margin?: float, offset?: float, - position3d?: chartsXAxisTitleOptionsPosition3d, + position3d?: ChartsTypes.chartsXAxisTitleOptionsPosition3d, reserveSpace?: bool, rotation?: float, skew3d?: bool, @@ -3139,8 +2775,8 @@ module ChartsSeriesAtrOptionsOnPoint = { } type borderRadiusOptionsObject = { radius: CommonTypes.stringOrNumber, - scope: chartsBorderRadiusOptionsObjectScope, - where: chartsBorderRadiusOptionsObjectWhere, + scope: ChartsTypes.chartsBorderRadiusOptionsObjectScope, + where: ChartsTypes.chartsBorderRadiusOptionsObjectWhere, } @unboxed type stringOrNumberOrBorderRadiusOptionsObject = Str(string) | Num(float) | BorderRadiusOptionsObject(borderRadiusOptionsObject) module ChartsSeriesBarOptionsDataSorting = { @@ -5090,7 +4726,7 @@ type plotOrganizationLinkOptions = { color?: string, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotOrganizationOnPointOptionsConnectorOptions = { type t @@ -6222,7 +5858,7 @@ type plotTreegraphLinkOptions = { curveFactor?: float, lineWidth?: float, radius?: float, - @as("type") type_?: chartsPlotOrganizationLinkOptionsType, + @as("type") type_?: ChartsTypes.chartsPlotOrganizationLinkOptionsType, } module ChartsPlotTreegraphOnPointOptionsConnectorOptions = { type t @@ -10406,11 +10042,11 @@ and plotSankeyOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -11583,7 +11219,7 @@ and plotOrganizationOptions<'a, 'b, 'c> = { getExtremesFromAll?: bool, hangingIndent?: float, hangingIndentTranslation?: organizationHangingIndentTranslationValue, - hangingSide?: chartsSeriesOrganizationOptionsHangingSide, + hangingSide?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, inactiveOtherPoints?: bool, includeInDataExport?: bool, keys?: array, @@ -11591,12 +11227,12 @@ and plotOrganizationOptions<'a, 'b, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array>, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -14400,7 +14036,7 @@ and plotDependencywheelOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -16335,7 +15971,7 @@ and plotArcdiagramOptions<'a, 'b, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array>, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -20000,11 +19636,11 @@ and seriesSankeyOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: CommonTypes.stringOrNumber, @@ -21424,7 +21060,7 @@ and seriesOrganizationOptions<'b, 'a, 'c> = { getExtremesFromAll?: bool, hangingIndent?: float, hangingIndentTranslation?: organizationHangingIndentTranslationValue, - hangingSide?: chartsSeriesOrganizationOptionsHangingSide, + hangingSide?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, inactiveOtherPoints?: bool, includeInDataExport?: bool, keys?: array, @@ -21432,12 +21068,12 @@ and seriesOrganizationOptions<'b, 'a, 'c> = { legendSymbol?: optionsLegendSymbolValue, levels?: array, link?: plotOrganizationLinkOptions, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, minNodeLength?: float, - nodeAlignment?: chartsSeriesOrganizationOptionsNodeAlignment, + nodeAlignment?: ChartsTypes.chartsSeriesOrganizationOptionsNodeAlignment, nodeDistance?: CommonTypes.stringOrNumber, nodePadding?: float, nodeWidth?: float, @@ -25014,7 +24650,7 @@ and seriesDependencywheelOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, minLinkWidth?: float, @@ -27527,7 +27163,7 @@ and seriesArcdiagramOptions<'b, 'a, 'c> = { label?: seriesLabelOptionsObject<'a, 'b, 'c>, legendSymbol?: optionsLegendSymbolValue, levels?: array, - linkColorMode?: chartsSeriesArcdiagramOptionsLinkColorMode, + linkColorMode?: ChartsTypes.chartsSeriesArcdiagramOptionsLinkColorMode, linkedTo?: string, linkOpacity?: float, marker?: pointMarkerOptionsObject, @@ -27919,7 +27555,7 @@ and tooltipPositionerPointObject<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c>, option, option) => unit, // ⚪ loose — was `boolean | Partial` @@ -29263,7 +28899,7 @@ and point<'a, 'b, 'c> = { remove: (option, option) => unit, // ⚪ loose — was `boolean | Partial` select: (option, option) => unit, setNestedProperty: (string, string, string) => string, // ⚪ loose — was `T` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, tooltipFormatter: string => string, update: (string, option, option) => unit, // ⚪ loose — was `PointOptionsType` @@ -29306,7 +28942,7 @@ and series<'a, 'b, 'c> = { searchPoint: (string, option) => point<'a, 'b, 'c>, // ⚪ loose — was `PointerEvent` select: option => unit, setData: (array, option, option, option) => unit, // ⚪ loose — was `boolean | Partial` - setState: (option, option) => unit, + setState: (option, option) => unit, setVisible: (option, option) => unit, show: unit => unit, translate: unit => unit, @@ -29877,7 +29513,7 @@ and chart<'a, 'b, 'c> = { @unboxed and seriesArcDiagramDataLabelsOptionsObjectOrSeriesArcDiagramDataLabelsOptionsObjectArray<'a, 'b, 'c> = SeriesArcDiagramDataLabelsOptionsObject(seriesArcDiagramDataLabelsOptionsObject<'a, 'b, 'c>) | SeriesArcDiagramDataLabelsOptionsObjectArr(array>) @unboxed and plotAoDataLabelsOptionsOrPlotAoDataLabelsOptionsArray<'a, 'b, 'c> = PlotAoDataLabelsOptions(plotAoDataLabelsOptions<'a, 'b, 'c>) | PlotAoDataLabelsOptionsArr(array>) @unboxed and plotAdDataLabelsOptionsOrPlotAdDataLabelsOptionsArray<'a, 'b, 'c> = PlotAdDataLabelsOptions(plotAdDataLabelsOptions<'a, 'b, 'c>) | PlotAdDataLabelsOptionsArr(array>) -@unboxed and pointOrPointArray<'a, 'b, 'c> = PointPointArray(point<'a, 'b, 'c>) | PointArr(array>) +@unboxed and pointOrPointArray<'a, 'b, 'c> = Point(point<'a, 'b, 'c>) | PointArr(array>) @unboxed and stringOrNumberOrStringOrNumberArrayOrPointOptionsObject<'a, 'b, 'c> = Str(string) | Num(float) | Arr(array) | PointOptionsObject(pointOptionsObject<'a, 'b, 'c>) @unboxed and plotAbandsDataLabelsOptionsOrPlotAbandsDataLabelsOptionsArray<'a, 'b, 'c> = PlotAbandsDataLabelsOptions(plotAbandsDataLabelsOptions<'a, 'b, 'c>) | PlotAbandsDataLabelsOptionsArr(array>) @unboxed and boolOrAxisCrosshairOptions<'a, 'b, 'c> = Bool(bool) | AxisCrosshairOptions(axisCrosshairOptions<'a, 'b, 'c>) @@ -30968,149 +30604,6 @@ module AxisOptions = { external fromZAxisOptions: zAxisOptions<'a, 'b, 'c> => t = "%identity" external asZAxisOptions: t => (zAxisOptions<'a, 'b, 'c>) = "%identity" } -type defsArrowAttributesOptions = { - id?: string, - markerHeight?: float, - markerWidth?: float, - refX?: float, - refY?: float, -} -type defsReverseArrowOptions = { - attributes?: defsArrowAttributesOptions, - tagName?: string, -} -module ChartsDefsOptionsReverseArrow = { - type t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsReverseArrowOptions: defsReverseArrowOptions => t = "%identity" - external asDefsReverseArrowOptions: t => (defsReverseArrowOptions) = "%identity" -} -type chartsDefsOptionsArrow_t -type rec defsArrowOptions = { - attributes?: defsArrowAttributesOptions, - children?: array, - tagName?: string, -} -and defsOptions = { - arrow?: chartsDefsOptionsArrow_t, - @as("reverse-arrow") reverseArrow?: ChartsDefsOptionsReverseArrow.t, -} -module ChartsDefsOptionsArrow = { - type t = chartsDefsOptionsArrow_t - external fromASTNode: astNode => t = "%identity" - external asASTNode: t => (astNode) = "%identity" - external fromDefsArrowOptions: defsArrowOptions => t = "%identity" - external asDefsArrowOptions: t => (defsArrowOptions) = "%identity" -} -type dragDropGuideBoxOptionsObject = { - className?: string, - color?: string, // ⚪ loose — was `ColorType` - cursor?: string, - lineColor?: string, - lineWidth?: float, - zIndex?: int, -} -type plotOptionsSeriesDragDropGuideBoxOptions = { - default?: dragDropGuideBoxOptionsObject, -} -type exportingButtonsOptionsObject = { - align?: alignValue, - buttonSpacing?: float, - className?: string, - enabled?: bool, - height?: float, - menuClassName?: string, - menuItems?: array, - onclick?: JsFn.t, - symbol?: string, - symbolFill?: ColorType.t, - symbolSize?: float, - symbolStroke?: string, - symbolStrokeWidth?: float, - symbolX?: float, - symbolY?: float, - text?: string, - theme?: exportingButtonsContextButtonThemeOptions, - titleKey?: string, - useHTML?: bool, - verticalAlign?: verticalAlignValue, - width?: float, - x?: float, - y?: float, -} -type exportingButtonsOptions = { - contextButton?: exportingButtonsOptionsObject, -} -type exportingMenuItemDefinitionsDownloadCSVOptions = { - textKey?: string, -} -type exportingMenuItemDefinitionsSeparatorOptions = { - separator?: bool, -} -type exportingMenuItemDefinitionsOptions = { - downloadCSV?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadJPEG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPDF?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadPNG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadSVG?: exportingMenuItemDefinitionsDownloadCSVOptions, - downloadXLS?: exportingMenuItemDefinitionsDownloadCSVOptions, - printChart?: exportingMenuItemDefinitionsDownloadCSVOptions, - separator?: exportingMenuItemDefinitionsSeparatorOptions, - viewData?: exportingMenuItemDefinitionsDownloadCSVOptions, - viewFullscreen?: exportingMenuItemDefinitionsDownloadCSVOptions, -} -type exportingMenuObject<'a, 'b, 'c> = { - onclick?: @this ((chart<'a, 'b, 'c>, option, option>) => option), // ⚠️ REVIEW — was `Event | Dictionary` — match the real type by hand - separator?: bool, - text?: string, - textKey?: string, -} -module ChartsSeriesMapDataGeometryOptionsCoordinates = { - type t - external fromArray: array => t = "%identity" - external asArray: t => (array) = "%identity" - external fromLonLatArrays: array> => t = "%identity" - external asLonLatArrays: t => (array>) = "%identity" -} -type seriesMapDataGeometryOptions = { - coordinates?: array, - @as("type") type_?: mapGeometryTypeValue, -} -module ChartsSeriesMapDataOptionsGeometry = { - type t - external fromJSON: JSON.t => t = "%identity" - external asJSON: t => (JSON.t) = "%identity" - external fromSeriesMapDataGeometryOptions: seriesMapDataGeometryOptions => t = "%identity" - external asSeriesMapDataGeometryOptions: t => (seriesMapDataGeometryOptions) = "%identity" -} -type seriesMapDataOptions<'a, 'b, 'c> = { - color?: ColorType.t, - dataLabels?: dataLabelsOptions, - drilldown?: string, - events?: pointEventsOptionsObject<'a, 'b, 'c>, - geometry?: ChartsSeriesMapDataOptionsGeometry.t, - id?: string, - labelrank?: float, - middleX?: float, - middleY?: float, - name?: string, - path?: string, - states?: seriesStatesOptionsObject, - value?: float, -} -type blendChartProps<'a, 'b, 'c> = { - allowChartUpdate?: bool, - constructorType?: chartsBlendChartPropsConstructorType, - containerProps?: Dict.t, // 🛑 BROKEN — contains `any` - highcharts?: InstanceTypes.highchartsModule, - immutable?: bool, - options?: options<'a, 'b, 'c>, - updateArgs?: array, - callback?: chart<'a, 'b, 'c> => unit, -} -@set_index external blendChartPropsSet: (blendChartProps<'a, 'b, 'c>, string, JSON.t) => unit = "" -@unboxed type stringOrChartsColorsConfig = Str(string) | ChartsColorsConfig(chartsColorsConfig) module SetStateAction = { type t external fromPoint: point<'a, 'b, 'c> => t = "%identity" diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyLink.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyLink.res index 6165d04..7049da9 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyLink.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyLink.res @@ -7,9 +7,9 @@ type props = { targetControlX?: float, linkWidth?: float, index?: int, - payload?: HighchartsSharedTypes.sankeyLink, - linkColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + payload?: ChartsTypes.sankeyLink, + linkColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyNode.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyNode.res index b4e64c7..eccb76f 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyNode.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SankeyNode.res @@ -4,10 +4,10 @@ type props = { width?: float, height?: float, index?: int, - payload?: HighchartsSharedTypes.chartsPayloadConfig, + payload?: ChartsTypes.chartsPayloadConfig, containerWidth?: float, - nodeColors?: array, - onMouseEnter?: (HighchartsSharedTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, + nodeColors?: array, + onMouseEnter?: (ChartsTypes.sankeyTooltipData, ReactEvent.Mouse.t) => unit, onMouseLeave?: unit => unit, } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarTypes.res index 1d4da1f..9eeb2e9 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarTypes.res @@ -124,41 +124,3 @@ type responsiveMobileNavigationTokens = { sm: mobileNavigationTokenType, lg: mobileNavigationTokenType, } -type sidebarProps<'a> = { - showLeftPanel?: bool, - children: React.element, - data: Nullable.t>, - leftPanel?: SharedTypes.leftPanelInfo, - topbar: React.element, - footer?: React.element, - sidebarTopSlot?: React.element, - sidebarCollapseKey?: string, - merchantInfo?: SharedTypes.merchantInfo, - rightActions?: React.element, - enableTopbarAutoHide?: bool, - isTopbarVisible?: bool, - onTopbarVisibilityChange?: bool => unit, - defaultIsTopbarVisible?: bool, - isExpanded?: bool, - onExpandedChange?: bool => unit, - onSidebarStateChange?: sidebarStateChangeType => unit, - defaultIsExpanded?: bool, - panelOnlyMode?: bool, - disableIntermediateState?: bool, - iconOnlyMode?: bool, - hideOnIconOnlyToggle?: bool, - showPrimaryActionButton?: bool, - primaryActionButtonProps?: ReactTypes.reactSidebarPropsPrimaryActionButtonPropsConfig, - activeItem?: Nullable.t, - onActiveItemChange?: Nullable.t => unit, - defaultActiveItem?: Nullable.t, - onHoveringChange?: bool => unit, - showHierarchyLines?: bool, - hierarchyLineBorderRadius?: string, - expandedItems?: DirectoryTypes.DirectoryExpandedItems.t, - defaultExpandedItems?: DirectoryTypes.DirectoryExpandedItems.t, - onExpandedItemsChange?: array => unit, - onItemExpand?: (DirectoryTypes.navbarItem, string) => 'a, - enableVirtualization?: bool, - virtualization?: DirectoryTypes.directoryVirtualizationConfig, -} diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarV2Types.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarV2Types.res index 4e4e2c3..d3b04db 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarV2Types.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/SidebarV2Types.res @@ -201,39 +201,6 @@ type secondarySidebarInfo = { buttonProps?: ReactTypes.reactSidebarPropsPrimaryActionButtonPropsConfig, footerSlot?: React.element, } -type sidebarV2Props<'a> = { - height?: string, - children?: React.element, - data?: Nullable.t>, - secondarySidebar?: secondarySidebarInfo, - topbar?: React.element, - footer?: React.element, - sidebarTopSlot?: React.element, - sidebarCollapseKey?: string, - merchantInfo?: SharedTypes.merchantInfo, - rightActions?: React.element, - enableTopbarAutoHide?: bool, - isTopbarVisible?: bool, - onTopbarVisibilityChange?: bool => unit, - defaultIsTopbarVisible?: bool, - isExpanded?: bool, - onExpandedChange?: bool => unit, - onSidebarStateChange?: sidebarV2SidebarV2PropsOnSidebarStateChange => unit, - defaultIsExpanded?: bool, - showMobilePrimaryActionButton?: bool, - mobilePrimaryActionButtonProps?: ReactTypes.reactSidebarPropsPrimaryActionButtonPropsConfig, - activeItem?: Nullable.t, - onActiveItemChange?: Nullable.t => unit, - defaultActiveItem?: Nullable.t, - showHierarchyLines?: bool, - hierarchyLineBorderRadius?: string, - expandedItems?: DirectoryTypes.DirectoryExpandedItems.t, - defaultExpandedItems?: DirectoryTypes.DirectoryExpandedItems.t, - onExpandedItemsChange?: array => unit, - onItemExpand?: (DirectoryTypes.navbarItem, string) => 'a, - enableVirtualization?: bool, - virtualization?: DirectoryTypes.directoryVirtualizationConfig, -} type sidebarV2MerchantInfoItemsConfig = { label: string, value: string, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCard.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCard.res index 4e0104d..c9dd32a 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCard.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCard.res @@ -15,7 +15,7 @@ type props = { minWidth?: string, xAxis?: StatCardTypes.statCardAxisConfig, yAxis?: StatCardTypes.statCardAxisConfig, - valueFormatter?: HighchartsSharedTypes.axisType, + valueFormatter?: ChartsTypes.axisType, height?: string, direction?: StatCardTypes.statCardDirection, skeleton?: StatCardTypes.statCardSkeletonProps, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCardTypes.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCardTypes.res index ba3fd1e..9d2cc81 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCardTypes.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/StatCardTypes.res @@ -151,7 +151,7 @@ type chartDataPoint = { name: string, } type statCardAxisConfig = { - @as("type") type_?: HighchartsSharedTypes.axisType, + @as("type") type_?: ChartsTypes.axisType, tickFormatter?: CommonTypes.stringOrNumber => string, dateOnly?: bool, useUTC?: bool, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Tag.res b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Tag.res index 63fb30b..c0abb39 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Tag.res +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/Tag.res @@ -98,7 +98,7 @@ type props = { shape?: TagsTypes.tagShape, leftSlot?: React.element, rightSlot?: React.element, - splitTagPosition?: HighchartsSharedTypes.chartsSeriesOrganizationOptionsHangingSide, + splitTagPosition?: ChartsTypes.chartsSeriesOrganizationOptionsHangingSide, showSkeleton?: bool, skeletonVariant?: SkeletonTypes.skeletonVariant, ref?: React.ref>, diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/_REPORT.md b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/_REPORT.md index 8981676..64fd2d0 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/_REPORT.md +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/bindings/_REPORT.md @@ -4,7 +4,7 @@ **253** function binding(s) → `BlendDesignSystemBindings.res`. -**3365** shared types deduplicated into **76** `*Types.res` modules (referenced qualified — no per-file redeclaration). +**3343** shared types deduplicated into **77** `*Types.res` modules (referenced qualified — no per-file redeclaration). ## 🔤 Constructor name collisions @@ -29,15 +29,11 @@ A bare constant, an identity payload and a `@tag`-injected object are different | `EditorSharedTypes` | `Text` | `1` / `"text"` | `TextMouseStyle`, `TextTagType`, `TextRenderMinimap` | | `EditorSharedTypes` | `WordWrapColumn` | `152` / `"wordWrapColumn"` | `WordWrapColumnWordWrap`, `WordWrapColumnEditorOption` | | `DataTableTypes` | `DateRange` | `"date_range"` / `"dateRange"` | `DateRangeColumnType`, `DateRangeTypeType`, `DateRangeFilterComponent` | -| `HighchartsSharedTypes` | `Point` | `"point"` / `(payload, passed through)` / `"Point"` | `PointConstructorType`, `PointObjectScope`, `PointPointArray` | -| `HighchartsSharedTypes` | `Pointer` | `"pointer"` / `"Pointer"` | `PointerConstructorType`, `PointerCursorValue` | -| `HighchartsSharedTypes` | `Polygon` | `"polygon"` / `"Polygon"` | `PolygonTypeValue`, `PolygonInterpolationValue` | -| `HighchartsSharedTypes` | `Series` | `"series"` / `"Series"` | `SeriesConstructorType`, `SeriesWithinValue` | +| `ChartsTypes` | `Point` | `"point"` / `"Point"` | `PointConstructorType`, `PointObjectScope` | | `HighchartsSharedTypes` | `Solid` | `"Solid"` / `"solid"` | `SolidStyleValue`, `SolidShapeValue` | -| `HighchartsSharedTypes` | `TriangleDown` | `"triangle-down"` / `"triangleDown"` | `TriangleDownConstructorType`, `TriangleDownKeyValue` | -| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValuePointSetState`, `ValueSeriesSetState`, `ValueOptionsCompare`, `ValueOptionsGapUnit`, `ValueOptionsOperator` | +| `HighchartsSharedTypes` | `Value` | `""` / `"!="` / `"value"` | `ValueAnnotationDraggable`, `ValueOptionsCompare`, `ValueGapUnit`, `ValueOptionsOperator` | -### Left as-is — same name, same runtime representation (145) +### Left as-is — same name, same runtime representation (142) These produce the same runtime shape whichever definition wins, so renaming them would churn every consumer for no correctness gain. Listed because the ambiguity is still there to read. @@ -49,12 +45,13 @@ These produce the same runtime shape whichever definition wins, so renaming them - `DataTableTypes`: `Avatar`, `Custom`, `Date`, `Decimal`, `Dropdown`, `Error`, `Multiselect`, `Number`, `Percentage`, `Primary`, `Progress`, `ReactElement`, `Secondary`, `Select`, `Slider`, `Success`, `Tag`, `Text`, `Warning` - `DateRangePickerTypes`: `Custom` - `ProgressBarTypes`: `Segmented`, `Solid` -- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Bottom`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `End`, `Flap`, `Fn`, `High`, `Horizontal`, `Hover`, `Inactive`, `Inside`, `Justify`, `Left` … +35 more +- `ChartsTypes`: `Chart`, `End`, `Hover`, `Inactive`, `Normal`, `Offset`, `Right`, `Select`, `Top`, `Value` - `SkeletonTypes`: `Circle` - `UploadTypes`: `Error`, `Success` - `ButtonV2Types`: `Default`, `Disabled` - `TooltipV2Types`: `Left`, `Right` - `CommonTypes`: `Arr`, `Auto`, `Bool`, `Fn`, `Interval`, `N0`, `N1`, `N2`, `N3`, `N4`, `Num`, `Off`, `On`, `Relative`, `Str`, `StrArr` +- `HighchartsSharedTypes`: `All`, `Allow`, `Alt`, `AnnotationMockPointOptionsObject`, `Arc`, `Area`, `Arr`, `Auto`, `Bool`, `Callout`, `Category`, `Center`, `Chart`, `Circle`, `Close`, `CssObject`, `Ctrl`, `Day`, `Diamond`, `Fn`, `High`, `Horizontal`, `Inside`, `Justify`, `Left`, `Linear`, `Logarithmic`, `Low`, `Meta`, `Middle` … +22 more - `SliderTypes`: `Bottom`, `Inline`, `Top` ## 📦 Dependencies diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/metrics.json b/benchmark/baselines/_juspay_blend-design-system_0.0.37/metrics.json index 254e0eb..4253ef3 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/metrics.json +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/metrics.json @@ -11,5 +11,5 @@ }, "functions": 253, "classes": 0, - "files": 306 + "files": 307 } diff --git a/benchmark/baselines/_juspay_blend-design-system_0.0.37/package-lock.json b/benchmark/baselines/_juspay_blend-design-system_0.0.37/package-lock.json index b11626b..4a7a387 100644 --- a/benchmark/baselines/_juspay_blend-design-system_0.0.37/package-lock.json +++ b/benchmark/baselines/_juspay_blend-design-system_0.0.37/package-lock.json @@ -20,8 +20,6 @@ }, "node_modules/@babel/runtime": { "version": "7.29.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz", - "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==", "license": "MIT", "engines": { "node": ">=6.9.0" @@ -29,8 +27,6 @@ }, "node_modules/@dnd-kit/accessibility": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", - "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -41,8 +37,6 @@ }, "node_modules/@dnd-kit/core": { "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", - "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", "license": "MIT", "dependencies": { "@dnd-kit/accessibility": "^3.1.1", @@ -56,8 +50,6 @@ }, "node_modules/@dnd-kit/sortable": { "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-10.0.0.tgz", - "integrity": "sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==", "license": "MIT", "dependencies": { "@dnd-kit/utilities": "^3.2.2", @@ -70,8 +62,6 @@ }, "node_modules/@dnd-kit/utilities": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", - "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -82,8 +72,6 @@ }, "node_modules/@emotion/is-prop-valid": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", - "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", "license": "MIT", "dependencies": { "@emotion/memoize": "^0.9.0" @@ -91,14 +79,10 @@ }, "node_modules/@emotion/memoize": { "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", - "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", "license": "MIT" }, "node_modules/@floating-ui/core": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.8.0.tgz", - "integrity": "sha512-0CIZ5itps/8x7BG8dEIhs53BvCUH2PCoogtakwRTut+Arm58sJooJ0AuZhLw2HJYIR5cMLNPBSS728sPho2khQ==", "license": "MIT", "dependencies": { "@floating-ui/utils": "^0.2.12" @@ -106,8 +90,6 @@ }, "node_modules/@floating-ui/dom": { "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.8.0.tgz", - "integrity": "sha512-yXSrzeHZBTZadLOlfyhCkJHNeLJnHRnRInwdZ40L7ZiaAtrBwoYlsDrX3v5zB1Utk7CLfzcOVnVVWoXEky7Ceg==", "license": "MIT", "dependencies": { "@floating-ui/core": "^1.8.0", @@ -116,8 +98,6 @@ }, "node_modules/@floating-ui/react-dom": { "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.9.tgz", - "integrity": "sha512-JDjEFGCpImxDCA7JJKviA0M9+RtmJdj0m/NVU5IMgBK+AmZouAQQ7/+2GLH0GXXY0YMw9oXPB8hKdbPYg5QLYg==", "license": "MIT", "dependencies": { "@floating-ui/dom": "^1.8.0" @@ -129,14 +109,10 @@ }, "node_modules/@floating-ui/utils": { "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.12.tgz", - "integrity": "sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==", "license": "MIT" }, "node_modules/@juspay/blend-design-system": { "version": "0.0.37", - "resolved": "https://registry.npmjs.org/@juspay/blend-design-system/-/blend-design-system-0.0.37.tgz", - "integrity": "sha512-HtdDLeFaFDg/zSLXdezYBhjkkzKwShDgb+BpYcDZQ6ZCYnNKEfxiDSBnReRYAYsRVfr0iTkLy62+LG0MihSMIQ==", "license": "MIT", "dependencies": { "@dnd-kit/core": "^6.3.1", @@ -172,8 +148,6 @@ }, "node_modules/@monaco-editor/loader": { "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.7.0.tgz", - "integrity": "sha512-gIwR1HrJrrx+vfyOhYmCZ0/JcWqG5kbfG7+d3f/C1LXk2EvzAbHSg3MQ5lO2sMlo9izoAZ04shohfKLVT6crVA==", "license": "MIT", "dependencies": { "state-local": "^1.0.6" @@ -181,8 +155,6 @@ }, "node_modules/@monaco-editor/react": { "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@monaco-editor/react/-/react-4.7.0.tgz", - "integrity": "sha512-cyzXQCtO47ydzxpQtCGSQGOC8Gk3ZUeBXFAxD+CWXYFo5OqZyZUonFl0DwUlTyAfRHntBfw2p3w4s9R6oe1eCA==", "license": "MIT", "dependencies": { "@monaco-editor/loader": "^1.5.0" @@ -195,8 +167,6 @@ }, "node_modules/@phosphor-icons/react": { "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.1.10.tgz", - "integrity": "sha512-vt8Tvq8GLjheAZZYa+YG/pW7HDbov8El/MANW8pOAz4eGxrwhnbfrQZq0Cp4q8zBEu8NIhHdnr+r8thnfRSNYA==", "license": "MIT", "engines": { "node": ">=10" @@ -208,20 +178,14 @@ }, "node_modules/@radix-ui/number": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.3.tgz", - "integrity": "sha512-Road2bidD0uu/1BGDOWNdPI06g0lIRy6IF9GZcIrDK2KGItfor8IQwQa+yM2ERgHM1MmHxaxpTzk0/Jp42lNfA==", "license": "MIT" }, "node_modules/@radix-ui/primitive": { "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.7.tgz", - "integrity": "sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==", "license": "MIT" }, "node_modules/@radix-ui/react-accessible-icon": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accessible-icon/-/react-accessible-icon-1.1.15.tgz", - "integrity": "sha512-WTQwcAvQf5sOcuUyi90lKPbhwcvQ+j55cjrSmeaN+L2vKU3DooOvlKw2MDeiJ5IkV5N905KW0/fGojKOBhD11A==", "license": "MIT", "dependencies": { "@radix-ui/react-visually-hidden": "1.2.11" @@ -243,8 +207,6 @@ }, "node_modules/@radix-ui/react-accordion": { "version": "1.2.20", - "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.2.20.tgz", - "integrity": "sha512-jDhG9FvAEnlhnjrsINbNXcUa4G+L1KqSkJSunkbKEzFRcAb52jvM0PjPxPRvhe1HNc5F5yc0yzzWeeqlH4yBIg==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -274,8 +236,6 @@ }, "node_modules/@radix-ui/react-alert-dialog": { "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.1.23.tgz", - "integrity": "sha512-VAYOiQRqj3GPpYJE0I9J+X8Ip05cyVlNdKOFeiGS2Ou1HHGfpl0BxOyZm6nmVDyU+W+NF3/XLzmjHmVGydhwgA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -301,8 +261,6 @@ }, "node_modules/@radix-ui/react-arrow": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.15.tgz", - "integrity": "sha512-v4zggRcjadnI+ClKDuijlQEW4tw3NoaeHc/PwpKnLoLLKNUG4InLegkstooLcRIUWCs+8L22dGURCVuFfOKfnA==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10" @@ -324,8 +282,6 @@ }, "node_modules/@radix-ui/react-aspect-ratio": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.15.tgz", - "integrity": "sha512-fy+dyVR+90nelK8rqIznFlxzx7uPcGbhxH8Nfr2bHb4UfSe+e3hklOC0luK0hDwVwnRX7xTRySpsrQVeW+/oNQ==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10" @@ -347,8 +303,6 @@ }, "node_modules/@radix-ui/react-avatar": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-avatar/-/react-avatar-1.2.6.tgz", - "integrity": "sha512-4ULOTJ/mqy2hT9GlWa/MFHxHSvH3nJzHnZM1waNsc5Bonv7i70aNenghXmD97S6OJ81ekXONGGt4nT1r0PfEdA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -375,8 +329,6 @@ }, "node_modules/@radix-ui/react-checkbox": { "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.3.11.tgz", - "integrity": "sha512-Gnptr9pDDQxD3hgq2dtPbtrp/c2qH1mBwIzw3X/ivrMb2e1t0jMTi606fVEqFPaQR1ggXIVQWKj3P2WW9v7zGQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -404,8 +356,6 @@ }, "node_modules/@radix-ui/react-collapsible": { "version": "1.1.20", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.20.tgz", - "integrity": "sha512-mcGesGplBnzN2sbvJETzpCNfSMyPnb29q1GRLU+Ib7bJrpIG2ywmRoh2V5VbA2uNvKikKUlVbAPks7JDjz4A8Q==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -434,8 +384,6 @@ }, "node_modules/@radix-ui/react-collection": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.15.tgz", - "integrity": "sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.5", @@ -460,8 +408,6 @@ }, "node_modules/@radix-ui/react-compose-refs": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.5.tgz", - "integrity": "sha512-+48PbAAbq3didjJxa+OaWY2ZwgAKsNiRGyeHKszblZMQ+kcpd9pAaT11cMkGEie0vsOi3QdeTE6d5Fe3Gn61kA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -475,8 +421,6 @@ }, "node_modules/@radix-ui/react-context": { "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.2.2.tgz", - "integrity": "sha512-RHCUGwKHDr0hDGg4X7ma4JG4/+12qxw8rkh5QKdDldlCvtja6nUx1Ef/8HVrJze81lEsgLQlqjzjGNHantgnQA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -490,8 +434,6 @@ }, "node_modules/@radix-ui/react-context-menu": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.3.7.tgz", - "integrity": "sha512-CtXP35dxaB5T3zXSd+E3uHe/QpXcpYnZmxp6OaIbfthtfW4wyb77M23BG+bwIJDtsMwEP/YssdsmNyZu7jhWew==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -517,8 +459,6 @@ }, "node_modules/@radix-ui/react-dialog": { "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.23.tgz", - "integrity": "sha512-Ksw4WeROkO4rC9k/onilX/Ao2Cr1ku1unMNH+XSCcP4jSXYu7HDsg9n4ojMjVb22XpYjAQ9qfrFlVbru1vXDUA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -554,8 +494,6 @@ }, "node_modules/@radix-ui/react-direction": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.4.tgz", - "integrity": "sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -569,8 +507,6 @@ }, "node_modules/@radix-ui/react-dismissable-layer": { "version": "1.1.19", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.19.tgz", - "integrity": "sha512-8g4pfOL9HoKKLWGiypT+dphVqjFfmcXO5GBnhsG6zI+lxAx/8feQpr+1LSN8Re3hiZ+XkLNS4O9ztK11/LzQ6w==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -596,8 +532,6 @@ }, "node_modules/@radix-ui/react-dropdown-menu": { "version": "2.1.24", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.24.tgz", - "integrity": "sha512-geq8l2rJkxvkXsT9RMgtUE3P8pITFpTsvYpbySi1IH4fZEABD/Gp85myayFgxk0ktljGMJnCbeFkyTusvSvv7g==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -625,8 +559,6 @@ }, "node_modules/@radix-ui/react-focus-guards": { "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.6.tgz", - "integrity": "sha512-RNOJjfZMTyBM6xYmV3IVGXkPjIhcBAuv48POevAXwrGJhkWZ9p1rFoIS1JFooPuT193AZmRsCPhpoVJxx6OPoQ==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -640,8 +572,6 @@ }, "node_modules/@radix-ui/react-focus-scope": { "version": "1.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.16.tgz", - "integrity": "sha512-wmRZ2WWLvmt6KHy2rNPOdPUjwq5xOHY02+m+udwJTn0aNIox/rkskAvJTyTLGhPK6KgrUjlJUJpgmx/+wFiFIQ==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.5", @@ -665,8 +595,6 @@ }, "node_modules/@radix-ui/react-form": { "version": "0.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-form/-/react-form-0.1.16.tgz", - "integrity": "sha512-Q4TLEn2A7TAypxwmd6R9EwrlXDvkfYSDMrq9/887AXAGh+G1rH+kYJKSTv+Si9Y0JPKTwKYv6PviAJosysNimA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -693,8 +621,6 @@ }, "node_modules/@radix-ui/react-hover-card": { "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@radix-ui/react-hover-card/-/react-hover-card-1.1.23.tgz", - "integrity": "sha512-H8qONfZd3ltrU3+jHCIgITbWo6e1iTKvP9DHdrvYbX48ooRM5FjEDTn16AMwdfuOGkWdZEhpl3PLL/Wk/AnHDQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -724,8 +650,6 @@ }, "node_modules/@radix-ui/react-id": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.4.tgz", - "integrity": "sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==", "license": "MIT", "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.4" @@ -742,8 +666,6 @@ }, "node_modules/@radix-ui/react-label": { "version": "2.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.1.15.tgz", - "integrity": "sha512-o/rdYEwZTTo5tjknnPeyQFU45kUC4i/XyeDPP+HGyi6XqpOP6Zf5Ya5vh/Yfe9Id5JiuWnnAx2XqIeD3UYZt0g==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10" @@ -765,8 +687,6 @@ }, "node_modules/@radix-ui/react-menu": { "version": "2.1.24", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.24.tgz", - "integrity": "sha512-uW7RVuU6Lp/ZtfeY4b3kL32zccgEWvPv1+cf17ubYzHa9cL8AHokmk36cG/XEiH/smbQvumnieXX9j/e9RqJWA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -805,8 +725,6 @@ }, "node_modules/@radix-ui/react-menubar": { "version": "1.1.24", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menubar/-/react-menubar-1.1.24.tgz", - "integrity": "sha512-eeVs0vf7cuqXaM0qLQCPcufImiJNVBXdJDLu7ZGYl2732UH23Qat/foNGrr6vYV3/DdTsBqASoggUFgH14OcZA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -837,8 +755,6 @@ }, "node_modules/@radix-ui/react-navigation-menu": { "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.22.tgz", - "integrity": "sha512-ou7iLEJ+yrhQndkkA4U21XIdS/CS45F4iXIkTZcb6/Ne9EMsOuDudVmCwmDnfFZZ+y1FZqXRNSIgBy+YMvZVZg==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -873,8 +789,6 @@ }, "node_modules/@radix-ui/react-one-time-password-field": { "version": "0.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-one-time-password-field/-/react-one-time-password-field-0.1.16.tgz", - "integrity": "sha512-Tj9P6ntAJEw52oq/F0AGknXR4XncxEt7XU47O3xJQOiWfLzEy3d9gtgKfvjSzGxzHkfL+VzvxGu2KTFsloJqXw==", "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.3", @@ -907,8 +821,6 @@ }, "node_modules/@radix-ui/react-password-toggle-field": { "version": "0.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-password-toggle-field/-/react-password-toggle-field-0.1.11.tgz", - "integrity": "sha512-4gvFnmDXu3dgj21CqsufzIameRvlRd4SBqaWhcrlrNhRo0Y5i/49AmRJYe1fdAM3G2VNBbmin4b0D6cdQocwgw==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -937,8 +849,6 @@ }, "node_modules/@radix-ui/react-popover": { "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.23.tgz", - "integrity": "sha512-mw58MrBlyHWFisTOYignD0vf/3gdcgAR+9of1s9G/38CbFiUwH1nCDkc0AUM9IrXFgN5Ue8n45j9WCgyM1sbiQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -974,8 +884,6 @@ }, "node_modules/@radix-ui/react-popper": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.3.7.tgz", - "integrity": "sha512-UsJrrd7w4wuKKTdvd/DNERVlwSlUcyXzjhyDwBk+3aPOsCjOY6ZSbxuw8E6lZTjjfP8Cpd0J8VVkrYUWyGYXyg==", "license": "MIT", "dependencies": { "@floating-ui/react-dom": "^2.0.0", @@ -1006,8 +914,6 @@ }, "node_modules/@radix-ui/react-portal": { "version": "1.1.17", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.17.tgz", - "integrity": "sha512-vKQLcWypUnwZVvfV7UkGahH2g6ySe8M8R+zYBwPrv5byZ9QAW6cQVvNKo7GgmD+p8aYb6D9JBuvy8/WhOno2wQ==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10", @@ -1030,8 +936,6 @@ }, "node_modules/@radix-ui/react-presence": { "version": "1.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.10.tgz", - "integrity": "sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==", "license": "MIT", "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.4" @@ -1053,8 +957,6 @@ }, "node_modules/@radix-ui/react-primitive": { "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.10.tgz", - "integrity": "sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==", "license": "MIT", "dependencies": { "@radix-ui/react-slot": "1.3.3" @@ -1076,8 +978,6 @@ }, "node_modules/@radix-ui/react-progress": { "version": "1.1.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-progress/-/react-progress-1.1.16.tgz", - "integrity": "sha512-5XnomAsoZZCY+KNTxbIghpGqPruZvKFNlvcAljVAOdDRDsH4/OZQxhtwo5wdtoDM5R6MhJBb2sPnDuRFep3lzg==", "license": "MIT", "dependencies": { "@radix-ui/react-context": "1.2.2", @@ -1100,8 +1000,6 @@ }, "node_modules/@radix-ui/react-radio-group": { "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-radio-group/-/react-radio-group-1.4.7.tgz", - "integrity": "sha512-cgYFEkntCxppHZgtSZ+7vh0wbZQ+IC7PPMw8DSnRG27B6kDd32/Zw0OJt7dGDigCoprMuWHjg2PvUn3PYvPFoQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1131,8 +1029,6 @@ }, "node_modules/@radix-ui/react-roving-focus": { "version": "1.1.19", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.19.tgz", - "integrity": "sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1164,8 +1060,6 @@ }, "node_modules/@radix-ui/react-scroll-area": { "version": "1.2.18", - "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.18.tgz", - "integrity": "sha512-Zn5Cd171wxsO3Dfg8HaW6RifTb9CYTKQJHs/G4+LN1GfmJpaQMZQyQxMprVPHpaz7QY4l9BxK2JwQuzHsXC8nA==", "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.3", @@ -1195,8 +1089,6 @@ }, "node_modules/@radix-ui/react-select": { "version": "2.3.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.3.7.tgz", - "integrity": "sha512-WFGImkmbzcfxeIwq/+4HvRN0pizBwbwQUED4I13ezQsDdfl38ZntN6TmR8XaSzPBqoCToe8rF75j6NPNDSzhbg==", "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.3", @@ -1239,8 +1131,6 @@ }, "node_modules/@radix-ui/react-separator": { "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.15.tgz", - "integrity": "sha512-jOLO4lssEzWpoDu7G+Ze4VjwMRUBt291pnZD0gmalREZipnTX3wadQo7Fy48GCTfe14/YRN6rw/rOJqrE85Wxw==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10" @@ -1262,8 +1152,6 @@ }, "node_modules/@radix-ui/react-slider": { "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slider/-/react-slider-1.4.7.tgz", - "integrity": "sha512-mTSLf1GC/C0moWjTbvCM6Qn/gBjvlFt1azuWF2v7MN5C3Zq2U2J2lN3ZEYkpujuOU5Ro7A28wkviSxaKnG0BYg==", "license": "MIT", "dependencies": { "@radix-ui/number": "1.1.3", @@ -1295,8 +1183,6 @@ }, "node_modules/@radix-ui/react-slot": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.3.3.tgz", - "integrity": "sha512-qx7oqnYbxnK9kYI9m317qmFmEgo6ywqWvbTogdj7cL9p3/yx4M48p7Rnw5z3H890cL/ow/EeWJsuTykeZVXP5Q==", "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.5" @@ -1313,8 +1199,6 @@ }, "node_modules/@radix-ui/react-switch": { "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.3.7.tgz", - "integrity": "sha512-48tB/4dn2UVLBCYhTu9AuR63IHl73l/qLbLgxd86noTUor4/K4LFDAcYjK+isP5313qxaFpjPVogE7+Y0/V3Kw==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1341,8 +1225,6 @@ }, "node_modules/@radix-ui/react-tabs": { "version": "1.1.21", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.21.tgz", - "integrity": "sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1371,8 +1253,6 @@ }, "node_modules/@radix-ui/react-toast": { "version": "1.2.23", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.23.tgz", - "integrity": "sha512-ofhyAsYaocRGOs/n0XWdUOSVzEAG6BfrMVM8z0c0kLEWY38w/0WuMFPTJP/HVaZPYkMvHZoKIIhNcjbTCBILPg==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1405,8 +1285,6 @@ }, "node_modules/@radix-ui/react-toggle": { "version": "1.1.18", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.1.18.tgz", - "integrity": "sha512-7lonPlKfSacd20GlOBx2ltuVKz9oqWYZz+oMQyOltw6t1y2nyftj2ZmwwUHYn49kqfDWcp8dNZm5NgV+5Z+mug==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1430,8 +1308,6 @@ }, "node_modules/@radix-ui/react-toggle-group": { "version": "1.1.19", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.19.tgz", - "integrity": "sha512-OtnwuSVjd1Ofi+AdnvhsjQdyuhCDwYs1w9RyB5BN/OavXOVQo42SYqQjwUnbPnaiPFBpQ9aX70dWeee+v2oBLA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1459,8 +1335,6 @@ }, "node_modules/@radix-ui/react-toolbar": { "version": "1.1.19", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.1.19.tgz", - "integrity": "sha512-Ph0IvtYw4VB12ZnZg+YtrGs8yJQsnizwo/zu0R4Y/nWugtJzA7Pg1eWeuDR9+LSqn+xjamss+UOSOJJJ4gx8jw==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1488,8 +1362,6 @@ }, "node_modules/@radix-ui/react-tooltip": { "version": "1.2.16", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.2.16.tgz", - "integrity": "sha512-6EamKFRRnlpdadndbZ6LMwycfwkwPte1B42hs6QA0gYhjaOKqW4PZ4pjaW9UrlDX5eVt/OjncE7BFTPL5nmZhg==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1523,8 +1395,6 @@ }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.4.tgz", - "integrity": "sha512-R6OUY2e2fA6Yn6s+VSx5KBV6Nx8LQEhu+cz7LCej18rQ1HLyg9PSC9jP/ZNx0o6FAIK9c0F1kHylzSxKsdlkrQ==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1538,8 +1408,6 @@ }, "node_modules/@radix-ui/react-use-controllable-state": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.6.tgz", - "integrity": "sha512-uEQJGT97ZA/TgP/Hydw47lHu+/vQj6z/0jA+WeTbK1o9Rx45GImjpD0tc3W5ad3D6XTSR6e1yEO0FvGq6WQfVQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -1558,8 +1426,6 @@ }, "node_modules/@radix-ui/react-use-effect-event": { "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.5.tgz", - "integrity": "sha512-7cshFL8HGS/7HEiHH+9kL9HBwp2sa9yX18Knwek6KYWmXwM7pegMgta2AXMQKI+rq3JnfSj9x8wYqFMTdG1Jgg==", "license": "MIT", "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.4" @@ -1576,8 +1442,6 @@ }, "node_modules/@radix-ui/react-use-escape-keydown": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.5.tgz", - "integrity": "sha512-ge3ipobwSXTj4JyVtswQ7qZj0ZHdtbGuOno/LrgAAeSxtsJ6Vs4Gz5IkPH2bmqpjcLUFoqGhA/mueuIf63UXlA==", "license": "MIT", "dependencies": { "@radix-ui/react-use-callback-ref": "1.1.4" @@ -1594,8 +1458,6 @@ }, "node_modules/@radix-ui/react-use-is-hydrated": { "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-is-hydrated/-/react-use-is-hydrated-0.1.3.tgz", - "integrity": "sha512-umO/aJ+82CpOnhDZUTbILCQf7kU/g0iv+oGs/Q8jw7IkhWBzaEP4sA268PhFAJTFetbwp3ICc6ktpI4TqtxcIw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1609,8 +1471,6 @@ }, "node_modules/@radix-ui/react-use-layout-effect": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.4.tgz", - "integrity": "sha512-K20DkRkUwDnxEYMBPcg3Y6voLkEy5p5QQmszZgLngKKiC7dzBR/aEuK3w1qlx2JWDUNH6FluahYdgR3BP+QbYw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1624,8 +1484,6 @@ }, "node_modules/@radix-ui/react-use-previous": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.4.tgz", - "integrity": "sha512-XoSLhbRbqxFtgJoi2fNHA3C6pDlY34x508vUpUGoFZfvePfHXHbE1lC4FYFMnJWgiCRroSTw6fOsXQoVS9RwZg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -1639,8 +1497,6 @@ }, "node_modules/@radix-ui/react-use-rect": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.4.tgz", - "integrity": "sha512-cSOCh6JlkmfjLyNcLiu2nB4v+nm+dkZ+Q5KHWk/soo4U7ZLiEQFKHK9/YmtBHjfCEaU43IBKQOc4/uJmCaiCTQ==", "license": "MIT", "dependencies": { "@radix-ui/rect": "1.1.3" @@ -1657,8 +1513,6 @@ }, "node_modules/@radix-ui/react-use-size": { "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.4.tgz", - "integrity": "sha512-D3anSY15EJoxrihpsXI6SMrmmonnQtR2ni7arO+Lfdg3O95b9hNXxONk8jA5C8ANdF/h5HMAxejgs8PWJ6rlhw==", "license": "MIT", "dependencies": { "@radix-ui/react-use-layout-effect": "1.1.4" @@ -1675,8 +1529,6 @@ }, "node_modules/@radix-ui/react-visually-hidden": { "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.2.11.tgz", - "integrity": "sha512-NFS86RYYZb4/exihaESBGOpMJFz8MGLAfu3mOBSGByVnVPC9JPASfYubxd/8KbkQK0sYAv8lVQDEQukDX/qXvQ==", "license": "MIT", "dependencies": { "@radix-ui/react-primitive": "2.1.10" @@ -1698,14 +1550,10 @@ }, "node_modules/@radix-ui/rect": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.3.tgz", - "integrity": "sha512-JtyZR+mqgBibTo8xea3B6ZRmzZiM/YeVBtUkas6zMuXjAlfIFIW2FgqeM9eLyvEaYX66vr6DJMK+4U6LV0KhNw==", "license": "MIT" }, "node_modules/@rescript/darwin-arm64": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@rescript/darwin-arm64/-/darwin-arm64-12.3.0.tgz", - "integrity": "sha512-tw0E+XcpPoFj3KizsT5qS/5O/dILi0NBZAz5I8ONK+F43qcqDJDDO+Ise45rGoNWhjwt9WOerYnOd0eUe3U9GA==", "cpu": [ "arm64" ], @@ -1768,8 +1616,6 @@ }, "node_modules/@rescript/react": { "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@rescript/react/-/react-0.15.0.tgz", - "integrity": "sha512-qDrrgxYzxRL/pjug617u5Q4+aqEfV5g+GQnd+eCWb0XqPrKucaDzN5rirDUZPg8UrqU/AvCP8Ev5cFd+MJx88A==", "license": "MIT", "peerDependencies": { "@rescript/runtime": ">=12.0.0", @@ -1779,8 +1625,6 @@ }, "node_modules/@rescript/runtime": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/@rescript/runtime/-/runtime-12.3.0.tgz", - "integrity": "sha512-8SRM2f6+LaWach8NJjYQVCCmu6KYmJCb+437L7YpaUpJBDyUOC1x0FF75shZ/Gid9guKPF3zMHrTNHLuyQkkiQ==", "license": "MIT" }, "node_modules/@rescript/win32-x64": { @@ -1801,8 +1645,6 @@ }, "node_modules/@tanstack/react-virtual": { "version": "3.14.9", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.14.9.tgz", - "integrity": "sha512-qZyr0FZDP8rDC4WBhsryIZmAd9bveJvFGUJJtskWaew6/0dTRS6wZxnR6VQ5bY2KwL3LjerrHqQLk3a0GKcPXQ==", "license": "MIT", "dependencies": { "@tanstack/virtual-core": "3.17.7" @@ -1818,8 +1660,6 @@ }, "node_modules/@tanstack/virtual-core": { "version": "3.17.7", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.17.7.tgz", - "integrity": "sha512-bp+v10y65sp2H7WpWfIMyxTNfl8ZVfxFTLRjPIFRryi6FV/J33z4IS53WO4pTk36KlvJ4iLiQz+oaydDC1xbcA==", "license": "MIT", "funding": { "type": "github", @@ -1828,26 +1668,18 @@ }, "node_modules/@types/d3-array": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", - "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", "license": "MIT" }, "node_modules/@types/d3-color": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", "license": "MIT" }, "node_modules/@types/d3-ease": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", "license": "MIT" }, "node_modules/@types/d3-interpolate": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", "license": "MIT", "dependencies": { "@types/d3-color": "*" @@ -1855,14 +1687,10 @@ }, "node_modules/@types/d3-path": { "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", - "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", "license": "MIT" }, "node_modules/@types/d3-scale": { "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", - "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", "license": "MIT", "dependencies": { "@types/d3-time": "*" @@ -1870,8 +1698,6 @@ }, "node_modules/@types/d3-shape": { "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", - "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", "license": "MIT", "dependencies": { "@types/d3-path": "*" @@ -1879,20 +1705,14 @@ }, "node_modules/@types/d3-time": { "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", - "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", "license": "MIT" }, "node_modules/@types/d3-timer": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", "license": "MIT" }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.7", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.7.tgz", - "integrity": "sha512-PQTyIulDkIDro8P+IHbKCsw7U2xxBYflVzW/FgWdCAePD9xGSidgA76/GeJ6lBKoblyhf9pBY763gbrN+1dI8g==", "license": "MIT", "dependencies": { "hoist-non-react-statics": "^3.3.0" @@ -1903,8 +1723,6 @@ }, "node_modules/@types/react": { "version": "19.2.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.18.tgz", - "integrity": "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w==", "license": "MIT", "dependencies": { "csstype": "^3.2.2" @@ -1912,8 +1730,6 @@ }, "node_modules/@types/react-dom": { "version": "19.2.4", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.4.tgz", - "integrity": "sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw==", "license": "MIT", "peerDependencies": { "@types/react": "^19.2.0" @@ -1921,8 +1737,6 @@ }, "node_modules/@types/styled-components": { "version": "5.1.36", - "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.36.tgz", - "integrity": "sha512-pGMRNY5G2rNDKEv2DOiFYa7Ft1r0jrhmgBwHhOMzPTgCjO76bCot0/4uEfqj7K0Jf1KdQmDtAuaDk9EAs9foSw==", "license": "MIT", "dependencies": { "@types/hoist-non-react-statics": "*", @@ -1932,8 +1746,6 @@ }, "node_modules/aria-hidden": { "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -1944,8 +1756,6 @@ }, "node_modules/camelize": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", - "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", "license": "MIT", "peer": true, "funding": { @@ -1954,8 +1764,6 @@ }, "node_modules/clsx": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "license": "MIT", "engines": { "node": ">=6" @@ -1963,8 +1771,6 @@ }, "node_modules/css-color-keywords": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", "license": "ISC", "peer": true, "engines": { @@ -1973,8 +1779,6 @@ }, "node_modules/css-to-react-native": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", - "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", "license": "MIT", "peer": true, "dependencies": { @@ -1985,14 +1789,10 @@ }, "node_modules/csstype": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", "license": "MIT" }, "node_modules/d3-array": { "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "license": "ISC", "dependencies": { "internmap": "1 - 2" @@ -2003,8 +1803,6 @@ }, "node_modules/d3-color": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "license": "ISC", "engines": { "node": ">=12" @@ -2012,8 +1810,6 @@ }, "node_modules/d3-ease": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "license": "BSD-3-Clause", "engines": { "node": ">=12" @@ -2021,8 +1817,6 @@ }, "node_modules/d3-format": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz", - "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", "license": "ISC", "engines": { "node": ">=12" @@ -2030,8 +1824,6 @@ }, "node_modules/d3-interpolate": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "license": "ISC", "dependencies": { "d3-color": "1 - 3" @@ -2042,8 +1834,6 @@ }, "node_modules/d3-path": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", "license": "ISC", "engines": { "node": ">=12" @@ -2051,8 +1841,6 @@ }, "node_modules/d3-scale": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "license": "ISC", "dependencies": { "d3-array": "2.10.0 - 3", @@ -2067,8 +1855,6 @@ }, "node_modules/d3-shape": { "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", "license": "ISC", "dependencies": { "d3-path": "^3.1.0" @@ -2079,8 +1865,6 @@ }, "node_modules/d3-time": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", "license": "ISC", "dependencies": { "d3-array": "2 - 3" @@ -2091,8 +1875,6 @@ }, "node_modules/d3-time-format": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", "license": "ISC", "dependencies": { "d3-time": "1 - 3" @@ -2103,8 +1885,6 @@ }, "node_modules/d3-timer": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", "license": "ISC", "engines": { "node": ">=12" @@ -2112,20 +1892,14 @@ }, "node_modules/decimal.js-light": { "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", "license": "MIT" }, "node_modules/detect-node-es": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", "license": "MIT" }, "node_modules/dom-helpers": { "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", @@ -2134,20 +1908,14 @@ }, "node_modules/dompurify": { "version": "3.1.7", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.7.tgz", - "integrity": "sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==", "license": "(MPL-2.0 OR Apache-2.0)" }, "node_modules/eventemitter3": { "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "license": "MIT" }, "node_modules/fast-equals": { "version": "5.4.1", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.4.1.tgz", - "integrity": "sha512-DjlFSM5Pk9cGcL0q5QXl66eGzx0N6szNgaswwc5ZphlBohjTVJSnGgI+rJVOgOi65qUoQnDZN4nDqi33udtydQ==", "license": "MIT", "engines": { "node": ">=6.0.0" @@ -2155,8 +1923,6 @@ }, "node_modules/framer-motion": { "version": "12.43.0", - "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.43.0.tgz", - "integrity": "sha512-1eaL3RvR/kAlbG7UYcpMptEyzPoENO0c6w7ZnB3/hh2vSAz/6uGAFn6fdoqTBguNstf3MsFhJHsD/0DHiclG+g==", "license": "MIT", "dependencies": { "motion-dom": "^12.43.0", @@ -2182,8 +1948,6 @@ }, "node_modules/get-nonce": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "license": "MIT", "engines": { "node": ">=6" @@ -2191,8 +1955,6 @@ }, "node_modules/highcharts": { "version": "12.6.0", - "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-12.6.0.tgz", - "integrity": "sha512-zWwoXECOakJT2huBMqIZOjDNLLgyZFCcfZqTj2g6cvYOGxjF3nvooC+rIaF5aKiharluyGKNflfRNrzOAIjdRg==", "license": "https://www.highcharts.com/license", "peerDependencies": { "jspdf": "^4.1.0", @@ -2209,8 +1971,6 @@ }, "node_modules/highcharts-react-official": { "version": "3.2.3", - "resolved": "https://registry.npmjs.org/highcharts-react-official/-/highcharts-react-official-3.2.3.tgz", - "integrity": "sha512-2gL8bVGe6Pf75tSe6IB5Ucd0nIOJX7ZrpttQBZVrjN2J9StdVZ12aOinXHIOFvlc6EzP8CbN13WS8NUq+9mptA==", "license": "MIT", "peerDependencies": { "highcharts": ">=6.0.0", @@ -2219,8 +1979,6 @@ }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" @@ -2228,8 +1986,6 @@ }, "node_modules/internmap": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", "license": "ISC", "engines": { "node": ">=12" @@ -2237,20 +1993,14 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, "node_modules/lodash": { "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/loose-envify": { "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -2261,8 +2011,6 @@ }, "node_modules/lucide-react": { "version": "0.511.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.511.0.tgz", - "integrity": "sha512-VK5a2ydJ7xm8GvBeKLS9mu1pVK6ucef9780JVUjw6bAjJL/QXnd4Y0p7SPeOUMC27YhzNCZvm5d/QX0Tp3rc0w==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" @@ -2270,8 +2018,6 @@ }, "node_modules/marked": { "version": "14.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz", - "integrity": "sha512-uIj4+faQ+MgHgwUW1l2PsPglZLOLOT1uErt06dAPtx2kjteLAkbsd/0FiYg/MGS+i7ZKLb7w2WClxHkzOOuryQ==", "license": "MIT", "bin": { "marked": "bin/marked.js" @@ -2282,8 +2028,6 @@ }, "node_modules/monaco-editor": { "version": "0.54.0", - "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.54.0.tgz", - "integrity": "sha512-hx45SEUoLatgWxHKCmlLJH81xBo0uXP4sRkESUpmDQevfi+e7K1VuiSprK6UpQ8u4zOcKNiH0pMvHvlMWA/4cw==", "license": "MIT", "dependencies": { "dompurify": "3.1.7", @@ -2292,8 +2036,6 @@ }, "node_modules/motion-dom": { "version": "12.43.0", - "resolved": "https://registry.npmjs.org/motion-dom/-/motion-dom-12.43.0.tgz", - "integrity": "sha512-azKON4d9S65PEoFUiQTMTgPheEmzf2QngdRc50AKfJp9Q9mmcBVw22c8eMq9k8kxOFHdL7+WZY7N/5F/lwiDag==", "license": "MIT", "dependencies": { "motion-utils": "^12.39.0" @@ -2301,14 +2043,10 @@ }, "node_modules/motion-utils": { "version": "12.39.0", - "resolved": "https://registry.npmjs.org/motion-utils/-/motion-utils-12.39.0.tgz", - "integrity": "sha512-8nadJAJjTtqRkmRF36FoJTrywK9nnFmnPwnSMyxaOCU7GDjN9RTMJIxx9De8ErM+vpPhMccr/6fo5WciyQLnMQ==", "license": "MIT" }, "node_modules/object-assign": { "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2316,15 +2054,11 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "license": "MIT", "peer": true }, "node_modules/prop-types": { "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", @@ -2334,8 +2068,6 @@ }, "node_modules/radix-ui": { "version": "1.6.7", - "resolved": "https://registry.npmjs.org/radix-ui/-/radix-ui-1.6.7.tgz", - "integrity": "sha512-QBdhh1arIEUvPC0dQ5+nwWAxt7+N+oP/9jPwjJkGFoSk/sqxg32gJtSXGtFh8frAIcS6oC9cx2Q+7KYCQLOAeA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.7", @@ -2411,8 +2143,6 @@ }, "node_modules/react": { "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.8.tgz", - "integrity": "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw==", "license": "MIT", "engines": { "node": ">=0.10.0" @@ -2420,8 +2150,6 @@ }, "node_modules/react-dom": { "version": "19.2.8", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.8.tgz", - "integrity": "sha512-rVprimfGBG3DR+Tq0IQG2DT5PxKth1WIGDmj5yPmlzr4YBe7uyE+Du4oVqTDXZSHGGGXRtTJEGSSePyQCMBglQ==", "license": "MIT", "dependencies": { "scheduler": "^0.27.0" @@ -2432,14 +2160,10 @@ }, "node_modules/react-is": { "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, "node_modules/react-remove-scroll": { "version": "2.7.2", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz", - "integrity": "sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q==", "license": "MIT", "dependencies": { "react-remove-scroll-bar": "^2.3.7", @@ -2463,8 +2187,6 @@ }, "node_modules/react-remove-scroll-bar": { "version": "2.3.8", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", - "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", "license": "MIT", "dependencies": { "react-style-singleton": "^2.2.2", @@ -2485,8 +2207,6 @@ }, "node_modules/react-smooth": { "version": "4.0.4", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.4.tgz", - "integrity": "sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==", "license": "MIT", "dependencies": { "fast-equals": "^5.0.1", @@ -2500,8 +2220,6 @@ }, "node_modules/react-style-singleton": { "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", - "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", @@ -2522,8 +2240,6 @@ }, "node_modules/react-transition-group": { "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", @@ -2538,9 +2254,6 @@ }, "node_modules/recharts": { "version": "2.15.4", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.15.4.tgz", - "integrity": "sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==", - "deprecated": "1.x and 2.x branches are no longer active. Bump to Recharts v3 to receive latest features and bugfixes. See https://github.com/recharts/recharts/wiki/3.0-migration-guide", "license": "MIT", "dependencies": { "clsx": "^2.0.0", @@ -2562,8 +2275,6 @@ }, "node_modules/recharts-scale": { "version": "0.4.5", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", - "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", "license": "MIT", "dependencies": { "decimal.js-light": "^2.4.1" @@ -2571,14 +2282,10 @@ }, "node_modules/recharts/node_modules/react-is": { "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "license": "MIT" }, "node_modules/rescript": { "version": "12.3.0", - "resolved": "https://registry.npmjs.org/rescript/-/rescript-12.3.0.tgz", - "integrity": "sha512-xdnpEoDNoeYjZ8HHATwKJEfWti1Nqwx266edfUC8378a5AO1VvZElj2ZZ/SIJNFgUnohH9yDThB+CHEQfijxKw==", "license": "(LGPL-3.0-or-later AND MIT)", "workspaces": [ "packages/playground", @@ -2614,20 +2321,14 @@ }, "node_modules/rescript-webapi": { "version": "0.10.0", - "resolved": "https://registry.npmjs.org/rescript-webapi/-/rescript-webapi-0.10.0.tgz", - "integrity": "sha512-QgwMMQO7INz0SK8TX91ibGDrOCRAteOuOxhQi3CIR8FMx0wykbp2rRU/TF4GyfKagk2Nby8snPhQnstSxnmm/g==", "license": "MIT" }, "node_modules/scheduler": { "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/sonner": { "version": "2.0.7", - "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", - "integrity": "sha512-W6ZN4p58k8aDKA4XPcx2hpIQXBRAgyiWVkYhT7CvK6D3iAu7xjvVyhQHg2/iaKJZ1XVJ4r7XuwGL+WGEK37i9w==", "license": "MIT", "peerDependencies": { "react": "^18.0.0 || ^19.0.0 || ^19.0.0-rc", @@ -2636,14 +2337,10 @@ }, "node_modules/state-local": { "version": "1.0.7", - "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", - "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==", "license": "MIT" }, "node_modules/styled-components": { "version": "6.5.0", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.5.0.tgz", - "integrity": "sha512-WLnTRAIRJsmCQfPXoEDDd1YMML+ImxQ8YGVVg60FALxsn/rpWiQWSJCZDNfu/buAcBFnTUr8ev6CBR8rb7xLiQ==", "license": "MIT", "peer": true, "dependencies": { @@ -2679,27 +2376,19 @@ }, "node_modules/stylis": { "version": "4.3.6", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz", - "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==", "license": "MIT", "peer": true }, "node_modules/tiny-invariant": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", "license": "MIT" }, "node_modules/tslib": { "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, "node_modules/use-callback-ref": { "version": "1.3.3", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", - "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -2719,8 +2408,6 @@ }, "node_modules/use-sidecar": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", - "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", @@ -2741,8 +2428,6 @@ }, "node_modules/vaul": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vaul/-/vaul-1.1.2.tgz", - "integrity": "sha512-ZFkClGpWyI2WUQjdLJ/BaGuV6AVQiJ3uELGk3OYtP+B6yCO7Cmn9vPFXVJkRaGkOJu3m8bQMgtyzNHixULceQA==", "license": "MIT", "dependencies": { "@radix-ui/react-dialog": "^1.1.1" @@ -2754,8 +2439,6 @@ }, "node_modules/victory-vendor": { "version": "36.9.2", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", - "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", "license": "MIT AND ISC", "dependencies": { "@types/d3-array": "^3.0.3", diff --git a/benchmark/baselines/_smastrom_react-rating/bindings/DistTypes.res b/benchmark/baselines/_smastrom_react-rating/bindings/DistTypes.res index 79a3bc6..62e5afa 100644 --- a/benchmark/baselines/_smastrom_react-rating/bindings/DistTypes.res +++ b/benchmark/baselines/_smastrom_react-rating/bindings/DistTypes.res @@ -54,19 +54,3 @@ type sharedProps = { type readOnlyProps = { halfFillMode?: hF, } -type inputProps<'a> = { - onChange?: float => 'a, - onHoverChange?: float => option unit>, - onBlur?: option => unit> => unit> => unit> => unit> => unit> => unit> => unit, // ⚪ loose — was `FocusEvent_2` - onFocus?: option => unit> => unit> => unit> => unit> => unit> => unit> => unit, // ⚪ loose — was `FocusEvent_2` - isDisabled?: bool, - resetOnSecondClick?: bool, - transition?: transitions, - isRequired?: bool, - invisibleLabel?: string, - invisibleItemLabels?: array, - visibleLabelId?: string, - visibleItemLabelIds?: array, - resetLabel?: string, - preventDefault?: distInputPropsPreventDefault, -} diff --git a/benchmark/baselines/_smastrom_react-rating/bindings/_REPORT.md b/benchmark/baselines/_smastrom_react-rating/bindings/_REPORT.md index b093d44..1062bc3 100644 --- a/benchmark/baselines/_smastrom_react-rating/bindings/_REPORT.md +++ b/benchmark/baselines/_smastrom_react-rating/bindings/_REPORT.md @@ -4,7 +4,7 @@ **6** function binding(s) → `ReactRatingBindings.res`. -**12** shared types deduplicated into **2** `*Types.res` modules (referenced qualified — no per-file redeclaration). +**11** shared types deduplicated into **2** `*Types.res` modules (referenced qualified — no per-file redeclaration). ## 🔤 Constructor name collisions diff --git a/docs/TYPE_MAPPING.md b/docs/TYPE_MAPPING.md index a70e93f..e6de613 100644 --- a/docs/TYPE_MAPPING.md +++ b/docs/TYPE_MAPPING.md @@ -692,6 +692,18 @@ blend's `point.options` (the `pointOptionsObject` field disappeared) and `option `string` placeholder) — with top-level bucket counts unmoved, so the loss was invisible to the metrics. Orphan removal belongs in a reachability sweep **after** traversal, not a rollback during it. +**That sweep now exists (`sweepUnreachableEntries`, #191).** After every IR tree is final but BEFORE +`stabilizeNames`, it walks the emitted roots (component props + `baseSpreads`, function/const/context +signatures, class members) and drops any registered entry unreachable from them. It is **key-based** +(every module-mode ref is keyed via `refTo`), so a type reached only through a keyed ref whose home is +late-bound (#128) is never dropped; a deep walk (`collectAllRefKeys`) covers refs inside inline-record +fields and spreads that the shallow `collectRefKeys` skips. Running it before naming also lets a live +sibling reclaim a base name an orphan squatted (`jsonBoxed(): BoxOf` flags its return and strands +`boxOf<'a>`; the sweep drops it and `readBox(): BoxOf` reclaims the clean `boxOf`). Removing an +orphan can also dissolve a spurious SCC merge it was wedged into, giving cleaner module homes. This is +the general mechanism #178 called for; the per-site method-path rollback stays as a cheap early exit. +Fixture: [`return-only-generic-orphan`](../test/golden/cases/return-only-generic-orphan). (#191) + `opaqueUnion` also gained the **structural dedup** the other builders always had (#180): it registered unconditionally, so two `type.id`s widening to the same module each got their own — blend emitted `ColumnDefinition` and `ColumnDefinition2` with byte-identical bodies. Each `module` declares its own diff --git a/src/extract.mjs b/src/extract.mjs index c7126ee..357118e 100644 --- a/src/extract.mjs +++ b/src/extract.mjs @@ -821,6 +821,78 @@ function collectRefKeys(t, out) { if (Array.isArray(t.params)) t.params.forEach((p) => collectRefKeys(p, out)) } +/** Deep-collect EVERY registry key referenced anywhere in an IR object tree — not just the type-node + * child slots `collectRefKeys` knows (it skips record `fields`, `baseSpreads`, etc.). Used by the + * reachability sweep, where under-collecting would drop a live type. Cycle-safe. (#191) */ +function collectAllRefKeys(node, out, seen) { + if (!node || typeof node !== 'object' || seen.has(node)) return + seen.add(node) + if (node.kind === 'typeRef' && node.key) out.add(node.key) + for (const k in node) { + const v = node[k] + if (v && typeof v === 'object') collectAllRefKeys(v, out, seen) + } +} + +/** Post-traversal reachability sweep (#191, #178). After all IR trees are final but BEFORE naming is + * stabilized, drop any registered entry UNREACHABLE from the emitted roots (component props, function + * signatures, class members). A speculative build that bailed — a return-only generic whose return was + * flagged (`jsonBoxed(): BoxOf`), or a rejected `@unboxed` classification (#178) — strands the + * record it registered; nothing references it, so it must never reach a `*Types.res`. Reachability is + * KEY-based (every module-mode ref is keyed via `refTo`), so an entry reached only through a keyed ref + * whose home is late-bound (#128) is never wrongly dropped. Running before `stabilizeNames` also lets a + * live sibling reclaim the clean base name the orphan squatted (`readBox(): BoxOf` -> `boxOf`, + * not `boxOfV1hnll`). `nominal` entries (class instance types) are roots: a class export emits its + * `type ` even when nothing else references it. */ +function sweepUnreachableEntries(shared, rootKeys) { + const reachable = new Set() + const stack = [...rootKeys] + // A class's instance type is emitted for the class itself — anchor every nominal as a root. + for (const e of shared.entries) if (e.kind === 'nominal') stack.push(e.key) + while (stack.length) { + const k = stack.pop() + if (reachable.has(k)) continue + reachable.add(k) + const e = shared.byKey.get(k) + if (!e) continue + const childKeys = new Set() + const seen = new Set() + for (const t of entryChildTypes(e)) collectAllRefKeys(t, childKeys, seen) + for (const d of e.deps || []) childKeys.add(d) // relinked cross-refs the tree walk can't see + for (const ck of childKeys) if (!reachable.has(ck)) stack.push(ck) + } + // `reachable` may hold keys that aren't entries (a `deps` key to an external/sink not in byKey), so + // this counts `>=`, not `===`. Worst case it over-counts and SKIPS the sweep — safe-direction: it can + // leave an orphan, never drop a live type. + if (reachable.size >= shared.entries.length) return [] + const dropped = [] + shared.entries = shared.entries.filter((e) => { + if (reachable.has(e.key)) return true + dropped.push(e) + return false + }) + for (const e of dropped) { + shared.byKey.delete(e.key) + shared.names.delete(e.name) // free the squatted base name so a live sibling can reclaim it + for (const [sig, canon] of shared.bySig) if (canon === e) shared.bySig.delete(sig) + } + // Reclaim: a survivor that `uniqueName` counter-bumped off a base the orphan squatted takes the + // now-free clean base (`boxOf2` -> `boxOf`), else a churny counter lingers where nothing collides. + // stabilizeNames won't (a single-shape group keeps its current name); keyed refs (module mode) then + // resolve to the entry's current name at emit. Deterministic: lowest current name per freed base. + const freed = [...new Set(dropped.map((e) => e.base).filter(Boolean))].sort() + for (const base of freed) { + if (shared.names.has(base) || shared.compatNames?.has(base) || RESERVED_TYPE_NAMES.has(base)) continue + const re = new RegExp(`^${base.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\d+$`) + const cand = shared.entries.filter((e) => e.base === base && re.test(e.name)).sort((a, b) => a.name.localeCompare(b.name))[0] + if (!cand) continue + shared.names.delete(cand.name) + shared.names.add(base) + cand.name = base + } + return dropped +} + /** Collect the ReScript type-variable names ('a, 'b) an IR type tree uses, so a record * containing them can be emitted parameterized (`type foo<'a> = {…}`). */ function collectTypeVars(t, out) { @@ -2927,6 +2999,35 @@ export function extractModule(entryFile, opts = {}) { for (const g of c.ir.getters || []) if (g.type) syncRefTparams(g.type, shared.byKey, new Set()) } + // #191/#178: reachability sweep. A speculative build that bailed (return-only generic flagged, or a + // rejected @unboxed classification) can strand the record it registered. Collect the keys the emitted + // roots reference, then drop every entry unreachable from them — BEFORE naming, so a live sibling + // reclaims any base name the orphan squatted. Key-based, so a late-bound keyed ref never loses a type. + { + // Deep-walk every reference-bearing subtree of the emitted units. Props can be inline records + // (fields hold refs), a component can spread a shared base (`baseSpreads[].ref`), a function + // nests under `sig`/`value` — a shallow field-walk misses these and would drop live types. + const rootKeys = new Set(), seen = new Set() + const addRoot = (n) => collectAllRefKeys(n, rootKeys, seen) + for (const c of components) { + for (const p of c.ir.props || []) addRoot(p.type) + for (const b of c.ir.baseSpreads || []) addRoot(b.ref) + } + for (const f of functions) { addRoot(f.ir.sig); addRoot(f.ir.value); addRoot(f.ir.context) } // context: React.Context.t + for (const c of classes) { + addRoot(c.ir.ctor) + for (const m of c.ir.methods || []) addRoot(m) + for (const g of c.ir.getters || []) addRoot(g.type) + // A type reachable ONLY through a write-only setter or a static member must count as a root + // too — each emits a `@set`/`@scope` external — else its shared type is dropped and the + // emitted external dangles. (Getters+setters usually pair up, hiding this behind the getter.) + for (const s of c.ir.setters || []) addRoot(s) + for (const m of c.ir.staticMethods || []) addRoot(m) + for (const v of c.ir.staticValues || []) addRoot(v) + } + sweepUnreachableEntries(shared, rootKeys) + } + // #90 residual: give same-base distinct shapes an order-INDEPENDENT intrinsic name, then resync // every reference to the final name. Runs last, so the whole colliding set (post-dedup) is known. stabilizeNames(shared) // populates shared.renames; applied at emit's resolveRef chokepoint diff --git a/test/golden/cases/class-setter-static-reachable/expected/ClassSetterStaticReachableTypes.res b/test/golden/cases/class-setter-static-reachable/expected/ClassSetterStaticReachableTypes.res new file mode 100644 index 0000000..5d2e819 --- /dev/null +++ b/test/golden/cases/class-setter-static-reachable/expected/ClassSetterStaticReachableTypes.res @@ -0,0 +1,7 @@ +type onlyViaSetter = { + a: float, + b: string, +} +type onlyViaStatic = { + x: bool, +} diff --git a/test/golden/cases/class-setter-static-reachable/expected/InstanceTypes.res b/test/golden/cases/class-setter-static-reachable/expected/InstanceTypes.res new file mode 100644 index 0000000..f838397 --- /dev/null +++ b/test/golden/cases/class-setter-static-reachable/expected/InstanceTypes.res @@ -0,0 +1 @@ +type widget diff --git a/test/golden/cases/class-setter-static-reachable/expected/Widget.res b/test/golden/cases/class-setter-static-reachable/expected/Widget.res new file mode 100644 index 0000000..fb88021 --- /dev/null +++ b/test/golden/cases/class-setter-static-reachable/expected/Widget.res @@ -0,0 +1,5 @@ +type t = InstanceTypes.widget +@new @module("demo") external make: unit => t = "Widget" +@send external ping: (t) => float = "ping" +@set external configSet: (t, ClassSetterStaticReachableTypes.onlyViaSetter) => unit = "config" +@module("demo") @scope("Widget") external build: (~opts: ClassSetterStaticReachableTypes.onlyViaStatic) => t = "build" diff --git a/test/golden/cases/class-setter-static-reachable/expected/_REPORT.md b/test/golden/cases/class-setter-static-reachable/expected/_REPORT.md new file mode 100644 index 0000000..1134bb4 --- /dev/null +++ b/test/golden/cases/class-setter-static-reachable/expected/_REPORT.md @@ -0,0 +1,48 @@ +# Binding report — `demo` + +**0** components · ✅ **0** usable · 🔍 **0** need review · 🛑 **0** broken + +**1** class module(s) → `@new`/`@send`/`@get` bindings. + +**3** shared types deduplicated into **2** `*Types.res` modules (referenced qualified — no per-file redeclaration). + +## 📦 Dependencies + +| Kind | Package | Provides | Status | +|------|---------|----------|--------| +| required | `@rescript/react + stdlib` | JsxDOM, Dom, React, ReactEvent | ✓ present | +| optional | `rescript-webapi` | File, FileList | ✗ not installed | + +## 🏛 Class modules + +Each class binds to its own `.res` module with an abstract `type t` (`@new` constructor, `@send` methods, `@get` properties). + +| Class | Constructor | Methods | Properties | +|-------|-------------|---------|------------| +| `Widget` | ✓ | 1 | 0 | + +## ✅ Usable + +These compile and every prop is bound type-safely — use them directly. +_(n loose)_ = some props widened to `string`; they still work, just loosely typed. + +_(none)_ + +## ⚪ Loosely typed (widened to `string`) + +These resolved to a real but complex type and were widened to `string` (they compile and work). Grouped by type so you can review each pattern once — confirm `string` is acceptable, or it may deserve a tighter mapping. + +_(none)_ + +## 🔍 Needs review + +A multi-type prop couldn't be auto-discriminated at runtime (e.g. two object shapes), so an `@unboxed` variant won't work and we **refuse to use `%identity`/unsafe casts**. The prop is emitted as a `string` placeholder with an inline `// ⚠️ REVIEW` comment — bind it by hand or fix the type upstream. + +_(none)_ + +## 🛑 Broken — needs serious component change + +These props resolved to `unknown`/`any` (usually a generic `T`). They're emitted as a placeholder so the file still compiles, but **the props will not work as typed** — they need a concrete type upstream, or generic-binding support. + +_(none)_ 🎉 + diff --git a/test/golden/cases/class-setter-static-reachable/index.d.ts b/test/golden/cases/class-setter-static-reachable/index.d.ts new file mode 100644 index 0000000..8aa791b --- /dev/null +++ b/test/golden/cases/class-setter-static-reachable/index.d.ts @@ -0,0 +1,10 @@ +// A shared type reachable ONLY through a write-only setter (`onlyViaSetter`) or a static member +// (`onlyViaStatic`) must survive the reachability sweep — each emits a `@set`/`@scope` external, so +// dropping the type would dangle the reference. Guards the class-member root set. (#191) +export interface OnlyViaSetter { a: number; b: string } +export interface OnlyViaStatic { x: boolean } +export declare class Widget { + set config(v: OnlyViaSetter) + static build(opts: OnlyViaStatic): Widget + ping(): number +} diff --git a/test/golden/cases/return-only-generic-orphan/expected/DemoBindings.res b/test/golden/cases/return-only-generic-orphan/expected/DemoBindings.res new file mode 100644 index 0000000..1d91793 --- /dev/null +++ b/test/golden/cases/return-only-generic-orphan/expected/DemoBindings.res @@ -0,0 +1,3 @@ +// 🛑 BROKEN: `jsonBoxed` has an `unknown`/`any` in its signature — emitted with `string` placeholder(s) and WON'T WORK. Needs a concrete type upstream. +@module("demo") external jsonBoxed: unit => string = "jsonBoxed" +@module("demo") external readBox: unit => ReturnOnlyGenericOrphanTypes.boxOf = "readBox" diff --git a/test/golden/cases/return-only-generic-orphan/expected/ReturnOnlyGenericOrphanTypes.res b/test/golden/cases/return-only-generic-orphan/expected/ReturnOnlyGenericOrphanTypes.res new file mode 100644 index 0000000..0efb4dc --- /dev/null +++ b/test/golden/cases/return-only-generic-orphan/expected/ReturnOnlyGenericOrphanTypes.res @@ -0,0 +1,3 @@ +type boxOf = { + v: string, +} diff --git a/test/golden/cases/return-only-generic-orphan/expected/_REPORT.md b/test/golden/cases/return-only-generic-orphan/expected/_REPORT.md new file mode 100644 index 0000000..2e72b95 --- /dev/null +++ b/test/golden/cases/return-only-generic-orphan/expected/_REPORT.md @@ -0,0 +1,47 @@ +# Binding report — `demo` + +**0** components · ✅ **0** usable · 🔍 **0** need review · 🛑 **0** broken + +**2** function binding(s) → `DemoBindings.res`. + +**1** shared types deduplicated into **1** `*Types.res` modules (referenced qualified — no per-file redeclaration). + +## 📦 Dependencies + +| Kind | Package | Provides | Status | +|------|---------|----------|--------| +| required | `@rescript/react + stdlib` | JsxDOM, Dom, React, ReactEvent | ✓ present | +| optional | `rescript-webapi` | File, FileList | ✗ not installed | + +## 🔧 Function bindings + +Standalone function exports, emitted as positional `@module external` bindings in `DemoBindings.res`. + +- `jsonBoxed` +- `readBox` + +## ✅ Usable + +These compile and every prop is bound type-safely — use them directly. +_(n loose)_ = some props widened to `string`; they still work, just loosely typed. + +_(none)_ + +## ⚪ Loosely typed (widened to `string`) + +These resolved to a real but complex type and were widened to `string` (they compile and work). Grouped by type so you can review each pattern once — confirm `string` is acceptable, or it may deserve a tighter mapping. + +_(none)_ + +## 🔍 Needs review + +A multi-type prop couldn't be auto-discriminated at runtime (e.g. two object shapes), so an `@unboxed` variant won't work and we **refuse to use `%identity`/unsafe casts**. The prop is emitted as a `string` placeholder with an inline `// ⚠️ REVIEW` comment — bind it by hand or fix the type upstream. + +_(none)_ + +## 🛑 Broken — needs serious component change + +These props resolved to `unknown`/`any` (usually a generic `T`). They're emitted as a placeholder so the file still compiles, but **the props will not work as typed** — they need a concrete type upstream, or generic-binding support. + +_(none)_ 🎉 + diff --git a/test/golden/cases/return-only-generic-orphan/index.d.ts b/test/golden/cases/return-only-generic-orphan/index.d.ts new file mode 100644 index 0000000..5fead14 --- /dev/null +++ b/test/golden/cases/return-only-generic-orphan/index.d.ts @@ -0,0 +1,7 @@ +// A type parameter that appears ONLY in the return position can't round-trip (contract rule #4), so +// the return is flagged (`unit => string`). The record `classify` registered while building that +// discarded return (`boxOf<'a>`) must NOT be emitted as an orphan — a post-traversal reachability +// sweep drops it, and the concrete sibling reclaims the clean base name `boxOf`. (#191) +interface BoxOf { v: T } +export declare function jsonBoxed(): BoxOf; +export declare function readBox(): BoxOf;