@techfides/ui-library-design 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -7
- package/dist/index.js +1 -7
- package/dist/recipes/stat.d.ts +1 -2
- package/dist/recipes/stat.js.map +1 -1
- package/package.json +1 -8
- package/dist/charts/animation.js +0 -14
- package/dist/charts/animation.js.map +0 -1
- package/dist/charts/bars.d.ts +0 -22
- package/dist/charts/bars.js +0 -61
- package/dist/charts/bars.js.map +0 -1
- package/dist/charts/groupedBars.d.ts +0 -20
- package/dist/charts/groupedBars.js +0 -82
- package/dist/charts/groupedBars.js.map +0 -1
- package/dist/charts/paint.js +0 -19
- package/dist/charts/paint.js.map +0 -1
- package/dist/charts/spark.d.ts +0 -17
- package/dist/charts/spark.js +0 -159
- package/dist/charts/spark.js.map +0 -1
- package/dist/charts/tooltip.js +0 -41
- package/dist/charts/tooltip.js.map +0 -1
- package/dist/czech.d.ts +0 -6
- package/dist/czech.js +0 -100
- package/dist/czech.js.map +0 -1
- package/dist/tally.d.ts +0 -17
- package/dist/tally.js +0 -75
- package/dist/tally.js.map +0 -1
- package/dist/words.d.ts +0 -116
- package/dist/words.js +0 -96
- package/dist/words.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { Brand, BrandSlug, brandTitle, brands, defaultBrand } from "./brands.js";
|
|
2
|
-
import { BarsAccent, BarsOptionInput, BarsPoint, barsOption } from "./charts/bars.js";
|
|
3
|
-
import { GroupedBarsOptionInput, GroupedBarsSeries, groupedBarsOption } from "./charts/groupedBars.js";
|
|
4
|
-
import { SparkAccent, SparkOptionInput, SparkShape, sparkOption } from "./charts/spark.js";
|
|
5
2
|
import { cn } from "./cn.js";
|
|
6
3
|
import { ButtonSize, ControlSize, FieldSize, controlIcon, defaultControlSize, defaultFieldSize } from "./control.js";
|
|
7
|
-
import { DatePickerWords, DialogWords, Language, SearchWords, SelectWords, SidebarWords, StatWords, TableWords, TailWords, UserMenuWords, Words, english } from "./words.js";
|
|
8
|
-
import { czech } from "./czech.js";
|
|
9
4
|
import { MarkPlate, defaultMarkPlate, markPlates } from "./mark.js";
|
|
10
|
-
import { Tally, WHOLE, tallyAt, tallyOf } from "./tally.js";
|
|
11
5
|
import { Tone, toneBlend, toneText, toneTint } from "./tone.js";
|
|
12
6
|
import { accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe } from "./recipes/accordion.js";
|
|
13
7
|
import { AlertVariant, alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, defaultAlertVariant } from "./recipes/alert.js";
|
|
@@ -63,4 +57,4 @@ import { tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe,
|
|
|
63
57
|
import { tableFootRecipe, tableGapRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tableRangeRecipe } from "./recipes/tablePaging.js";
|
|
64
58
|
import { SwitchAccent, defaultSwitchAccent, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe } from "./recipes/switch.js";
|
|
65
59
|
import { TextareaReach, textareaCountRecipe, textareaRecipe, textareaShellRecipe } from "./recipes/textarea.js";
|
|
66
|
-
export { type AlertVariant, type BarsAccent, type BarsOptionInput, type BarsPoint, type Brand, type BrandSlug, type ButtonAccent, type ButtonSize, type ButtonVariant, type CardHeaderRank, type CheckboxAccent, type ChipAccent, type ChipSize, type ChipTone, type Cloud, type ControlSize, type DatePickerMode, type DatePickerRangePreset, type DatePickerWords, type DialogLayout, type DialogSize, type DialogWords, type FeatureLevel, type FieldSize, type GroupedBarsOptionInput, type GroupedBarsSeries, HEADING_DEFAULT_TAG, type HeadingLevel, type HeartbeatState, type InputType, type Language, type ListboxMark, type MarkPlate, type MarqueeItem, type MenuPlacement, type MenuTone, type MetaRowEmphasis, type MetaRowLayout, type MetaRowPairedLayout, type MeterPartEdge, type MeterVariant, type NebulaOrigin, type PaperInset, type PaperVariant, type RadioAccent, type ScrollAreaSurface, type SearchWords, type SectionHeaderEyebrow, type SectionHeaderSize, type SelectWords, type SeparatorOrientation, type SeparatorVariant, type SidebarWords, type SparkAccent, type SparkOptionInput, type SparkShape, type StarLayer, type StatAccent, type StatDirection, type StatSparkShape, type StatSurface, type StatWords, type SwitchAccent, TRAILING_INSET, type TableAlign, type TableFilterKind, type TableWords, type TailSeverity, type TailWords, type Tally, type TextFamily, type TextSize, type TextTone, type TextWeight, type TextareaReach, type TileRest, type TileTone, type Tone, type TooltipPlacement, type TopBarLevel, type TrailFlow, type TrailState, type UserMenuWords, WHOLE, type Words, accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe, alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, bandRecipe, barsChartRecipe, barsFootRecipe, barsHeadRecipe, barsHintRecipe, barsLabelRecipe, barsLegendDotRecipe, barsLegendListRecipe, barsLegendRecipe, barsOption, barsRecipe, barsSummaryRecipe, barsTextRecipe, brandMarkRecipe, brandTitle, brands, buttonAccents, buttonRecipe, buttonSizes, buttonSpinnerRecipe, buttonVariants, buttonWordsRecipe, cardHeaderActionRecipe, cardHeaderRanks, cardHeaderRecipe, cardHeaderStackRecipe, checkboxAccents, checkboxControlRecipe, checkboxDashRecipe, checkboxHintRecipe, checkboxIndicatorRecipe, checkboxLabelRecipe, checkboxMarkRecipe, checkboxRecipe, checkboxTitleRecipe, chipAccents, chipCloseRecipe, chipCountRecipe, chipDotRecipe, chipLabelRecipe, chipRecipe, chipSizes, chipTextRecipe, chipTones, cloudDrift, cn, codeEditorRecipe, codeEditorTheme, codeSyntaxColors, collapseMotion, contentRecipe, controlIcon, czech, datePickerBodyRecipe, datePickerContentRecipe, datePickerDashRecipe, datePickerDayRecipe, datePickerEndRecipe, datePickerFootRecipe, datePickerGridRecipe, datePickerHeadRecipe, datePickerModes, datePickerNavRecipe, datePickerPresetRecipe, datePickerRangePresets, datePickerRangeTextRecipe, datePickerRowRecipe, datePickerRuleRecipe, datePickerStartRecipe, datePickerTriggerRecipe, datePickerValueRecipe, datePickerViewRecipe, datePickerViewTriggerRecipe, datePickerViewsRecipe, datePickerWeekCellRecipe, defaultAlertVariant, defaultBrand, defaultCardHeaderRank, defaultCheckboxAccent, defaultChipAccent, defaultChipSize, defaultChipTone, defaultControlSize, defaultDatePickerMode, defaultDialogLayout, defaultDialogSize, defaultFeatureLevel, defaultFieldSize, defaultHeadingLevel, defaultHeartbeatState, defaultMarkPlate, defaultMenuPlacement, defaultMenuTone, defaultMetaRowEmphasis, defaultMetaRowLayout, defaultMeterVariant, defaultNebulaTone, defaultPaperInset, defaultPaperTone, defaultPaperVariant, defaultRadioAccent, defaultScrollAreaSurface, defaultSectionHeaderSize, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, defaultSwitchAccent, defaultTailSeverity, defaultTextFamily, defaultTextSize, defaultTextTone, defaultTextWeight, defaultTileRest, defaultTileTone, defaultTooltipPlacement, defaultTopBarLevel, defaultTrailFlow, defaultTrailState, dialogBackdropRecipe, dialogBodyRecipe, dialogCloseRecipe, dialogDescriptionRecipe, dialogFooterRecipe, dialogHeadRecipe, dialogHeadingsRecipe, dialogHeldRecipe, dialogLayouts, dialogNoteRecipe, dialogPositionerRecipe, dialogRecipe, dialogRowRecipe, dialogRowValueRecipe, dialogSizes, dialogTitleRecipe, driftRecipe, english, featureBodyRecipe, featureFootRecipe, featureLevels, featureLinkRecipe, featureRecipe, featureTileRecipe, featureTitleRecipe, fieldErrorRecipe, fieldFootRecipe, fieldHintRecipe, fieldLabelRecipe, fieldRecipe, fieldRowRecipe, fieldUnitRecipe, findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe, groupedBarsOption, headingLevels, headingRecipe, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe, inputRecipe, inputTypes, labelRoom, leadingRecipe, listItemRecipe, listItemStackRecipe, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe, markPlates, marqueeCopyRecipe, marqueeItemRecipe, marqueeMarkRecipe, marqueeNameRecipe, marqueeRecipe, marqueeRuleRecipe, marqueeSpacing, marqueeStageRecipe, marqueeViewportRecipe, menuArrowRecipe, menuArrowTipRecipe, menuGroupRecipe, menuItemRecipe, menuLabelRecipe, menuListRecipe, menuMarkRecipe, menuPlacements, menuSeparatorRecipe, menuShortcutRecipe, menuSurfaceRecipe, menuTextRecipe, menuTones, metaRowEmphases, metaRowLayouts, metaRowRecipe, metaRowTones, meterCaptionRecipe, meterHeadRecipe, meterLegendDotRecipe, meterLegendItemRecipe, meterLegendRecipe, meterPartRecipe, meterPartsRecipe, meterRangeRecipe, meterReadingRecipe, meterRecipe, meterTrackRecipe, meterVariants, nebulaCloudLowRecipe, nebulaCloudRecipe, nebulaCloudWideRecipe, nebulaOrigins, nebulaRecipe, nebulaTones, nebulaVeilRecipe, numberRangeDashRecipe, numberRangeHalfRecipe, numberRangeRecipe, overlayMotion, paperActionRecipe, paperBadgeRecipe, paperBodyRecipe, paperHeaderRecipe, paperInsets, paperRecipe, paperRuleRecipe, paperTones, paperVariants, progressBarRangeRecipe, progressBarTones, progressBarTrackRecipe, queueAgeFillRecipe, queueAgeLabelRecipe, queueAgeRecipe, queueAgeTrackRecipe, queueDotRecipe, queueHintRecipe, queueLeadRecipe, queueRecipe, queueRowRecipe, queueTextRecipe, radioAccents, radioAsideRecipe, radioControlRecipe, radioDotRecipe, radioErrorRecipe, radioGroupLabelRecipe, radioGroupRecipe, radioHintRecipe, radioIndicatorRecipe, radioLabelRecipe, radioLeadRecipe, radioRecipe, radioTitleRecipe, restingEyebrow, restingWeight, scopeSwitcherBadgeRecipe, scopeSwitcherChevronsRecipe, scopeSwitcherCodeRecipe, scopeSwitcherDotRecipe, scopeSwitcherEyebrowRecipe, scopeSwitcherIconRecipe, scopeSwitcherListRecipe, scopeSwitcherMarkRecipe, scopeSwitcherPillIconRecipe, scopeSwitcherPillRecipe, scopeSwitcherRecipe, scopeSwitcherRowMetaRecipe, scopeSwitcherRowNameRecipe, scopeSwitcherRowRecipe, scopeSwitcherRowTextRecipe, scopeSwitcherTextRecipe, scopeSwitcherValueRecipe, scopeSwitcherWarningRecipe, scrollAreaRecipe, scrollAreaSurfaces, scrollBarRecipe, scrollContentRecipe, scrollCornerRecipe, scrollThumbRecipe, scrollViewportRecipe, searchEmptyRecipe, searchFieldRecipe, searchFootRecipe, searchHitMetaRecipe, searchHitRecipe, searchHitTextRecipe, searchInputRecipe, searchKeyRecipe, searchLabelRecipe, searchListRecipe, searchMarkRecipe, searchPanelRecipe, searchPositionerRecipe, searchRuleRecipe, searchTriggerRecipe, sectionHeaderEyebrows, sectionHeaderLabelStackRecipe, sectionHeaderRecipe, sectionHeaderSizes, sectionHeaderTones, segmentedControlIndicatorRecipe, segmentedControlItemRecipe, segmentedControlRecipe, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe, separatorOrientations, separatorRecipe, separatorTones, separatorVariants, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe, skyRecipe, sliderBoundsRecipe, sliderControlRecipe, sliderFootRecipe, sliderHeadRecipe, sliderHintRecipe, sliderKnobSize, sliderLabelRecipe, sliderNotchRecipe, sliderNotchesRecipe, sliderRangeRecipe, sliderRecipe, sliderThumbRecipe, sliderTrackRecipe, sliderValueRecipe, sparkOption, starLayers, starRecipe, statAccents, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe, tableActionsCellRecipe, tableActionsWidth, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterMarkRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe, tableFootRecipe, tableGapRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tablePinWidth, tableRangeRecipe, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe, tallyAt, tallyOf, textFamilies, textRecipe, textSizes, textTones, textWeights, textareaCountRecipe, textareaRecipe, textareaShellRecipe, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones, toneBlend, toneText, toneTint, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe, topBarActionsRecipe, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe, trailingActionRecipe, trailingRecipe, userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
|
60
|
+
export { type AlertVariant, type Brand, type BrandSlug, type ButtonAccent, type ButtonSize, type ButtonVariant, type CardHeaderRank, type CheckboxAccent, type ChipAccent, type ChipSize, type ChipTone, type Cloud, type ControlSize, type DatePickerMode, type DatePickerRangePreset, type DialogLayout, type DialogSize, type FeatureLevel, type FieldSize, HEADING_DEFAULT_TAG, type HeadingLevel, type HeartbeatState, type InputType, type ListboxMark, type MarkPlate, type MarqueeItem, type MenuPlacement, type MenuTone, type MetaRowEmphasis, type MetaRowLayout, type MetaRowPairedLayout, type MeterPartEdge, type MeterVariant, type NebulaOrigin, type PaperInset, type PaperVariant, type RadioAccent, type ScrollAreaSurface, type SectionHeaderEyebrow, type SectionHeaderSize, type SeparatorOrientation, type SeparatorVariant, type StarLayer, type StatAccent, type StatDirection, type StatSparkShape, type StatSurface, type SwitchAccent, TRAILING_INSET, type TableAlign, type TableFilterKind, type TailSeverity, type TextFamily, type TextSize, type TextTone, type TextWeight, type TextareaReach, type TileRest, type TileTone, type Tone, type TooltipPlacement, type TopBarLevel, type TrailFlow, type TrailState, accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe, alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, bandRecipe, barsChartRecipe, barsFootRecipe, barsHeadRecipe, barsHintRecipe, barsLabelRecipe, barsLegendDotRecipe, barsLegendListRecipe, barsLegendRecipe, barsRecipe, barsSummaryRecipe, barsTextRecipe, brandMarkRecipe, brandTitle, brands, buttonAccents, buttonRecipe, buttonSizes, buttonSpinnerRecipe, buttonVariants, buttonWordsRecipe, cardHeaderActionRecipe, cardHeaderRanks, cardHeaderRecipe, cardHeaderStackRecipe, checkboxAccents, checkboxControlRecipe, checkboxDashRecipe, checkboxHintRecipe, checkboxIndicatorRecipe, checkboxLabelRecipe, checkboxMarkRecipe, checkboxRecipe, checkboxTitleRecipe, chipAccents, chipCloseRecipe, chipCountRecipe, chipDotRecipe, chipLabelRecipe, chipRecipe, chipSizes, chipTextRecipe, chipTones, cloudDrift, cn, codeEditorRecipe, codeEditorTheme, codeSyntaxColors, collapseMotion, contentRecipe, controlIcon, datePickerBodyRecipe, datePickerContentRecipe, datePickerDashRecipe, datePickerDayRecipe, datePickerEndRecipe, datePickerFootRecipe, datePickerGridRecipe, datePickerHeadRecipe, datePickerModes, datePickerNavRecipe, datePickerPresetRecipe, datePickerRangePresets, datePickerRangeTextRecipe, datePickerRowRecipe, datePickerRuleRecipe, datePickerStartRecipe, datePickerTriggerRecipe, datePickerValueRecipe, datePickerViewRecipe, datePickerViewTriggerRecipe, datePickerViewsRecipe, datePickerWeekCellRecipe, defaultAlertVariant, defaultBrand, defaultCardHeaderRank, defaultCheckboxAccent, defaultChipAccent, defaultChipSize, defaultChipTone, defaultControlSize, defaultDatePickerMode, defaultDialogLayout, defaultDialogSize, defaultFeatureLevel, defaultFieldSize, defaultHeadingLevel, defaultHeartbeatState, defaultMarkPlate, defaultMenuPlacement, defaultMenuTone, defaultMetaRowEmphasis, defaultMetaRowLayout, defaultMeterVariant, defaultNebulaTone, defaultPaperInset, defaultPaperTone, defaultPaperVariant, defaultRadioAccent, defaultScrollAreaSurface, defaultSectionHeaderSize, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, defaultSwitchAccent, defaultTailSeverity, defaultTextFamily, defaultTextSize, defaultTextTone, defaultTextWeight, defaultTileRest, defaultTileTone, defaultTooltipPlacement, defaultTopBarLevel, defaultTrailFlow, defaultTrailState, dialogBackdropRecipe, dialogBodyRecipe, dialogCloseRecipe, dialogDescriptionRecipe, dialogFooterRecipe, dialogHeadRecipe, dialogHeadingsRecipe, dialogHeldRecipe, dialogLayouts, dialogNoteRecipe, dialogPositionerRecipe, dialogRecipe, dialogRowRecipe, dialogRowValueRecipe, dialogSizes, dialogTitleRecipe, driftRecipe, featureBodyRecipe, featureFootRecipe, featureLevels, featureLinkRecipe, featureRecipe, featureTileRecipe, featureTitleRecipe, fieldErrorRecipe, fieldFootRecipe, fieldHintRecipe, fieldLabelRecipe, fieldRecipe, fieldRowRecipe, fieldUnitRecipe, findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe, headingLevels, headingRecipe, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe, inputRecipe, inputTypes, labelRoom, leadingRecipe, listItemRecipe, listItemStackRecipe, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe, markPlates, marqueeCopyRecipe, marqueeItemRecipe, marqueeMarkRecipe, marqueeNameRecipe, marqueeRecipe, marqueeRuleRecipe, marqueeSpacing, marqueeStageRecipe, marqueeViewportRecipe, menuArrowRecipe, menuArrowTipRecipe, menuGroupRecipe, menuItemRecipe, menuLabelRecipe, menuListRecipe, menuMarkRecipe, menuPlacements, menuSeparatorRecipe, menuShortcutRecipe, menuSurfaceRecipe, menuTextRecipe, menuTones, metaRowEmphases, metaRowLayouts, metaRowRecipe, metaRowTones, meterCaptionRecipe, meterHeadRecipe, meterLegendDotRecipe, meterLegendItemRecipe, meterLegendRecipe, meterPartRecipe, meterPartsRecipe, meterRangeRecipe, meterReadingRecipe, meterRecipe, meterTrackRecipe, meterVariants, nebulaCloudLowRecipe, nebulaCloudRecipe, nebulaCloudWideRecipe, nebulaOrigins, nebulaRecipe, nebulaTones, nebulaVeilRecipe, numberRangeDashRecipe, numberRangeHalfRecipe, numberRangeRecipe, overlayMotion, paperActionRecipe, paperBadgeRecipe, paperBodyRecipe, paperHeaderRecipe, paperInsets, paperRecipe, paperRuleRecipe, paperTones, paperVariants, progressBarRangeRecipe, progressBarTones, progressBarTrackRecipe, queueAgeFillRecipe, queueAgeLabelRecipe, queueAgeRecipe, queueAgeTrackRecipe, queueDotRecipe, queueHintRecipe, queueLeadRecipe, queueRecipe, queueRowRecipe, queueTextRecipe, radioAccents, radioAsideRecipe, radioControlRecipe, radioDotRecipe, radioErrorRecipe, radioGroupLabelRecipe, radioGroupRecipe, radioHintRecipe, radioIndicatorRecipe, radioLabelRecipe, radioLeadRecipe, radioRecipe, radioTitleRecipe, restingEyebrow, restingWeight, scopeSwitcherBadgeRecipe, scopeSwitcherChevronsRecipe, scopeSwitcherCodeRecipe, scopeSwitcherDotRecipe, scopeSwitcherEyebrowRecipe, scopeSwitcherIconRecipe, scopeSwitcherListRecipe, scopeSwitcherMarkRecipe, scopeSwitcherPillIconRecipe, scopeSwitcherPillRecipe, scopeSwitcherRecipe, scopeSwitcherRowMetaRecipe, scopeSwitcherRowNameRecipe, scopeSwitcherRowRecipe, scopeSwitcherRowTextRecipe, scopeSwitcherTextRecipe, scopeSwitcherValueRecipe, scopeSwitcherWarningRecipe, scrollAreaRecipe, scrollAreaSurfaces, scrollBarRecipe, scrollContentRecipe, scrollCornerRecipe, scrollThumbRecipe, scrollViewportRecipe, searchEmptyRecipe, searchFieldRecipe, searchFootRecipe, searchHitMetaRecipe, searchHitRecipe, searchHitTextRecipe, searchInputRecipe, searchKeyRecipe, searchLabelRecipe, searchListRecipe, searchMarkRecipe, searchPanelRecipe, searchPositionerRecipe, searchRuleRecipe, searchTriggerRecipe, sectionHeaderEyebrows, sectionHeaderLabelStackRecipe, sectionHeaderRecipe, sectionHeaderSizes, sectionHeaderTones, segmentedControlIndicatorRecipe, segmentedControlItemRecipe, segmentedControlRecipe, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe, separatorOrientations, separatorRecipe, separatorTones, separatorVariants, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe, skyRecipe, sliderBoundsRecipe, sliderControlRecipe, sliderFootRecipe, sliderHeadRecipe, sliderHintRecipe, sliderKnobSize, sliderLabelRecipe, sliderNotchRecipe, sliderNotchesRecipe, sliderRangeRecipe, sliderRecipe, sliderThumbRecipe, sliderTrackRecipe, sliderValueRecipe, starLayers, starRecipe, statAccents, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe, tableActionsCellRecipe, tableActionsWidth, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterMarkRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe, tableFootRecipe, tableGapRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tablePinWidth, tableRangeRecipe, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe, textFamilies, textRecipe, textSizes, textTones, textWeights, textareaCountRecipe, textareaRecipe, textareaShellRecipe, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones, toneBlend, toneText, toneTint, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe, topBarActionsRecipe, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe, trailingActionRecipe, trailingRecipe, userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
import { brandTitle, brands, defaultBrand } from "./brands.js";
|
|
2
|
-
import { barsOption } from "./charts/bars.js";
|
|
3
|
-
import { groupedBarsOption } from "./charts/groupedBars.js";
|
|
4
|
-
import { sparkOption } from "./charts/spark.js";
|
|
5
2
|
import { cn } from "./cn.js";
|
|
6
3
|
import { controlIcon, defaultControlSize, defaultFieldSize } from "./control.js";
|
|
7
|
-
import { czech } from "./czech.js";
|
|
8
4
|
import { defaultMarkPlate, markPlates } from "./mark.js";
|
|
9
|
-
import { WHOLE, tallyAt, tallyOf } from "./tally.js";
|
|
10
5
|
import { toneBlend, toneText, toneTint } from "./tone.js";
|
|
11
|
-
import { english } from "./words.js";
|
|
12
6
|
import { collapseMotion, overlayMotion } from "./recipes/motion.js";
|
|
13
7
|
import { accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe } from "./recipes/accordion.js";
|
|
14
8
|
import { alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, defaultAlertVariant } from "./recipes/alert.js";
|
|
@@ -63,4 +57,4 @@ import { tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe,
|
|
|
63
57
|
import { tableFootRecipe, tableGapRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tableRangeRecipe } from "./recipes/tablePaging.js";
|
|
64
58
|
import { defaultSwitchAccent, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe } from "./recipes/switch.js";
|
|
65
59
|
import { textareaCountRecipe, textareaRecipe, textareaShellRecipe } from "./recipes/textarea.js";
|
|
66
|
-
export { HEADING_DEFAULT_TAG, TRAILING_INSET, WHOLE, accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe, alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, bandRecipe, barsChartRecipe, barsFootRecipe, barsHeadRecipe, barsHintRecipe, barsLabelRecipe, barsLegendDotRecipe, barsLegendListRecipe, barsLegendRecipe, barsOption, barsRecipe, barsSummaryRecipe, barsTextRecipe, brandMarkRecipe, brandTitle, brands, buttonAccents, buttonRecipe, buttonSizes, buttonSpinnerRecipe, buttonVariants, buttonWordsRecipe, cardHeaderActionRecipe, cardHeaderRanks, cardHeaderRecipe, cardHeaderStackRecipe, checkboxAccents, checkboxControlRecipe, checkboxDashRecipe, checkboxHintRecipe, checkboxIndicatorRecipe, checkboxLabelRecipe, checkboxMarkRecipe, checkboxRecipe, checkboxTitleRecipe, chipAccents, chipCloseRecipe, chipCountRecipe, chipDotRecipe, chipLabelRecipe, chipRecipe, chipSizes, chipTextRecipe, chipTones, cloudDrift, cn, codeEditorRecipe, codeEditorTheme, codeSyntaxColors, collapseMotion, contentRecipe, controlIcon, czech, datePickerBodyRecipe, datePickerContentRecipe, datePickerDashRecipe, datePickerDayRecipe, datePickerEndRecipe, datePickerFootRecipe, datePickerGridRecipe, datePickerHeadRecipe, datePickerModes, datePickerNavRecipe, datePickerPresetRecipe, datePickerRangePresets, datePickerRangeTextRecipe, datePickerRowRecipe, datePickerRuleRecipe, datePickerStartRecipe, datePickerTriggerRecipe, datePickerValueRecipe, datePickerViewRecipe, datePickerViewTriggerRecipe, datePickerViewsRecipe, datePickerWeekCellRecipe, defaultAlertVariant, defaultBrand, defaultCardHeaderRank, defaultCheckboxAccent, defaultChipAccent, defaultChipSize, defaultChipTone, defaultControlSize, defaultDatePickerMode, defaultDialogLayout, defaultDialogSize, defaultFeatureLevel, defaultFieldSize, defaultHeadingLevel, defaultHeartbeatState, defaultMarkPlate, defaultMenuPlacement, defaultMenuTone, defaultMetaRowEmphasis, defaultMetaRowLayout, defaultMeterVariant, defaultNebulaTone, defaultPaperInset, defaultPaperTone, defaultPaperVariant, defaultRadioAccent, defaultScrollAreaSurface, defaultSectionHeaderSize, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, defaultSwitchAccent, defaultTailSeverity, defaultTextFamily, defaultTextSize, defaultTextTone, defaultTextWeight, defaultTileRest, defaultTileTone, defaultTooltipPlacement, defaultTopBarLevel, defaultTrailFlow, defaultTrailState, dialogBackdropRecipe, dialogBodyRecipe, dialogCloseRecipe, dialogDescriptionRecipe, dialogFooterRecipe, dialogHeadRecipe, dialogHeadingsRecipe, dialogHeldRecipe, dialogLayouts, dialogNoteRecipe, dialogPositionerRecipe, dialogRecipe, dialogRowRecipe, dialogRowValueRecipe, dialogSizes, dialogTitleRecipe, driftRecipe, english, featureBodyRecipe, featureFootRecipe, featureLevels, featureLinkRecipe, featureRecipe, featureTileRecipe, featureTitleRecipe, fieldErrorRecipe, fieldFootRecipe, fieldHintRecipe, fieldLabelRecipe, fieldRecipe, fieldRowRecipe, fieldUnitRecipe, findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe, groupedBarsOption, headingLevels, headingRecipe, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe, inputRecipe, inputTypes, labelRoom, leadingRecipe, listItemRecipe, listItemStackRecipe, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe, markPlates, marqueeCopyRecipe, marqueeItemRecipe, marqueeMarkRecipe, marqueeNameRecipe, marqueeRecipe, marqueeRuleRecipe, marqueeSpacing, marqueeStageRecipe, marqueeViewportRecipe, menuArrowRecipe, menuArrowTipRecipe, menuGroupRecipe, menuItemRecipe, menuLabelRecipe, menuListRecipe, menuMarkRecipe, menuPlacements, menuSeparatorRecipe, menuShortcutRecipe, menuSurfaceRecipe, menuTextRecipe, menuTones, metaRowEmphases, metaRowLayouts, metaRowRecipe, metaRowTones, meterCaptionRecipe, meterHeadRecipe, meterLegendDotRecipe, meterLegendItemRecipe, meterLegendRecipe, meterPartRecipe, meterPartsRecipe, meterRangeRecipe, meterReadingRecipe, meterRecipe, meterTrackRecipe, meterVariants, nebulaCloudLowRecipe, nebulaCloudRecipe, nebulaCloudWideRecipe, nebulaOrigins, nebulaRecipe, nebulaTones, nebulaVeilRecipe, numberRangeDashRecipe, numberRangeHalfRecipe, numberRangeRecipe, overlayMotion, paperActionRecipe, paperBadgeRecipe, paperBodyRecipe, paperHeaderRecipe, paperInsets, paperRecipe, paperRuleRecipe, paperTones, paperVariants, progressBarRangeRecipe, progressBarTones, progressBarTrackRecipe, queueAgeFillRecipe, queueAgeLabelRecipe, queueAgeRecipe, queueAgeTrackRecipe, queueDotRecipe, queueHintRecipe, queueLeadRecipe, queueRecipe, queueRowRecipe, queueTextRecipe, radioAccents, radioAsideRecipe, radioControlRecipe, radioDotRecipe, radioErrorRecipe, radioGroupLabelRecipe, radioGroupRecipe, radioHintRecipe, radioIndicatorRecipe, radioLabelRecipe, radioLeadRecipe, radioRecipe, radioTitleRecipe, restingEyebrow, restingWeight, scopeSwitcherBadgeRecipe, scopeSwitcherChevronsRecipe, scopeSwitcherCodeRecipe, scopeSwitcherDotRecipe, scopeSwitcherEyebrowRecipe, scopeSwitcherIconRecipe, scopeSwitcherListRecipe, scopeSwitcherMarkRecipe, scopeSwitcherPillIconRecipe, scopeSwitcherPillRecipe, scopeSwitcherRecipe, scopeSwitcherRowMetaRecipe, scopeSwitcherRowNameRecipe, scopeSwitcherRowRecipe, scopeSwitcherRowTextRecipe, scopeSwitcherTextRecipe, scopeSwitcherValueRecipe, scopeSwitcherWarningRecipe, scrollAreaRecipe, scrollAreaSurfaces, scrollBarRecipe, scrollContentRecipe, scrollCornerRecipe, scrollThumbRecipe, scrollViewportRecipe, searchEmptyRecipe, searchFieldRecipe, searchFootRecipe, searchHitMetaRecipe, searchHitRecipe, searchHitTextRecipe, searchInputRecipe, searchKeyRecipe, searchLabelRecipe, searchListRecipe, searchMarkRecipe, searchPanelRecipe, searchPositionerRecipe, searchRuleRecipe, searchTriggerRecipe, sectionHeaderEyebrows, sectionHeaderLabelStackRecipe, sectionHeaderRecipe, sectionHeaderSizes, sectionHeaderTones, segmentedControlIndicatorRecipe, segmentedControlItemRecipe, segmentedControlRecipe, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe, separatorOrientations, separatorRecipe, separatorTones, separatorVariants, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe, skyRecipe, sliderBoundsRecipe, sliderControlRecipe, sliderFootRecipe, sliderHeadRecipe, sliderHintRecipe, sliderKnobSize, sliderLabelRecipe, sliderNotchRecipe, sliderNotchesRecipe, sliderRangeRecipe, sliderRecipe, sliderThumbRecipe, sliderTrackRecipe, sliderValueRecipe, sparkOption, starLayers, starRecipe, statAccents, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe, tableActionsCellRecipe, tableActionsWidth, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterMarkRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe, tableFootRecipe, tableGapRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tablePinWidth, tableRangeRecipe, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe, tallyAt, tallyOf, textFamilies, textRecipe, textSizes, textTones, textWeights, textareaCountRecipe, textareaRecipe, textareaShellRecipe, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones, toneBlend, toneText, toneTint, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe, topBarActionsRecipe, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe, trailingActionRecipe, trailingRecipe, userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
|
60
|
+
export { HEADING_DEFAULT_TAG, TRAILING_INSET, accordionBodyRecipe, accordionContentRecipe, accordionIndicatorRecipe, accordionItemRecipe, accordionLabelRecipe, accordionMetaRecipe, accordionRecipe, accordionRuleRecipe, accordionTriggerRecipe, alertActionRecipe, alertBannerRecipe, alertBannerTextRecipe, alertDetailRecipe, alertInlineMarkRecipe, alertInlineRecipe, alertInlineTextRecipe, alertVariants, bandRecipe, barsChartRecipe, barsFootRecipe, barsHeadRecipe, barsHintRecipe, barsLabelRecipe, barsLegendDotRecipe, barsLegendListRecipe, barsLegendRecipe, barsRecipe, barsSummaryRecipe, barsTextRecipe, brandMarkRecipe, brandTitle, brands, buttonAccents, buttonRecipe, buttonSizes, buttonSpinnerRecipe, buttonVariants, buttonWordsRecipe, cardHeaderActionRecipe, cardHeaderRanks, cardHeaderRecipe, cardHeaderStackRecipe, checkboxAccents, checkboxControlRecipe, checkboxDashRecipe, checkboxHintRecipe, checkboxIndicatorRecipe, checkboxLabelRecipe, checkboxMarkRecipe, checkboxRecipe, checkboxTitleRecipe, chipAccents, chipCloseRecipe, chipCountRecipe, chipDotRecipe, chipLabelRecipe, chipRecipe, chipSizes, chipTextRecipe, chipTones, cloudDrift, cn, codeEditorRecipe, codeEditorTheme, codeSyntaxColors, collapseMotion, contentRecipe, controlIcon, datePickerBodyRecipe, datePickerContentRecipe, datePickerDashRecipe, datePickerDayRecipe, datePickerEndRecipe, datePickerFootRecipe, datePickerGridRecipe, datePickerHeadRecipe, datePickerModes, datePickerNavRecipe, datePickerPresetRecipe, datePickerRangePresets, datePickerRangeTextRecipe, datePickerRowRecipe, datePickerRuleRecipe, datePickerStartRecipe, datePickerTriggerRecipe, datePickerValueRecipe, datePickerViewRecipe, datePickerViewTriggerRecipe, datePickerViewsRecipe, datePickerWeekCellRecipe, defaultAlertVariant, defaultBrand, defaultCardHeaderRank, defaultCheckboxAccent, defaultChipAccent, defaultChipSize, defaultChipTone, defaultControlSize, defaultDatePickerMode, defaultDialogLayout, defaultDialogSize, defaultFeatureLevel, defaultFieldSize, defaultHeadingLevel, defaultHeartbeatState, defaultMarkPlate, defaultMenuPlacement, defaultMenuTone, defaultMetaRowEmphasis, defaultMetaRowLayout, defaultMeterVariant, defaultNebulaTone, defaultPaperInset, defaultPaperTone, defaultPaperVariant, defaultRadioAccent, defaultScrollAreaSurface, defaultSectionHeaderSize, defaultSeparatorOrientation, defaultSeparatorTone, defaultSeparatorVariant, defaultStatAccent, defaultStatSparkShape, defaultStatSurface, defaultSwitchAccent, defaultTailSeverity, defaultTextFamily, defaultTextSize, defaultTextTone, defaultTextWeight, defaultTileRest, defaultTileTone, defaultTooltipPlacement, defaultTopBarLevel, defaultTrailFlow, defaultTrailState, dialogBackdropRecipe, dialogBodyRecipe, dialogCloseRecipe, dialogDescriptionRecipe, dialogFooterRecipe, dialogHeadRecipe, dialogHeadingsRecipe, dialogHeldRecipe, dialogLayouts, dialogNoteRecipe, dialogPositionerRecipe, dialogRecipe, dialogRowRecipe, dialogRowValueRecipe, dialogSizes, dialogTitleRecipe, driftRecipe, featureBodyRecipe, featureFootRecipe, featureLevels, featureLinkRecipe, featureRecipe, featureTileRecipe, featureTitleRecipe, fieldErrorRecipe, fieldFootRecipe, fieldHintRecipe, fieldLabelRecipe, fieldRecipe, fieldRowRecipe, fieldUnitRecipe, findingIconRecipe, findingMessageRecipe, findingPathRecipe, findingRecipe, findingTextRecipe, findingsRecipe, findingsSummaryRecipe, headingLevels, headingRecipe, heartbeatBeatRecipe, heartbeatBeatsRecipe, heartbeatDotRecipe, heartbeatHintRecipe, heartbeatLabelRecipe, heartbeatMarkRecipe, heartbeatRecipe, heartbeatRingRecipe, heartbeatRowRecipe, heartbeatStates, heartbeatTextRecipe, inputRecipe, inputTypes, labelRoom, leadingRecipe, listItemRecipe, listItemStackRecipe, listboxEmptyRecipe, listboxItemRecipe, listboxLabelRecipe, listboxMarkRecipe, listboxRecipe, markPlates, marqueeCopyRecipe, marqueeItemRecipe, marqueeMarkRecipe, marqueeNameRecipe, marqueeRecipe, marqueeRuleRecipe, marqueeSpacing, marqueeStageRecipe, marqueeViewportRecipe, menuArrowRecipe, menuArrowTipRecipe, menuGroupRecipe, menuItemRecipe, menuLabelRecipe, menuListRecipe, menuMarkRecipe, menuPlacements, menuSeparatorRecipe, menuShortcutRecipe, menuSurfaceRecipe, menuTextRecipe, menuTones, metaRowEmphases, metaRowLayouts, metaRowRecipe, metaRowTones, meterCaptionRecipe, meterHeadRecipe, meterLegendDotRecipe, meterLegendItemRecipe, meterLegendRecipe, meterPartRecipe, meterPartsRecipe, meterRangeRecipe, meterReadingRecipe, meterRecipe, meterTrackRecipe, meterVariants, nebulaCloudLowRecipe, nebulaCloudRecipe, nebulaCloudWideRecipe, nebulaOrigins, nebulaRecipe, nebulaTones, nebulaVeilRecipe, numberRangeDashRecipe, numberRangeHalfRecipe, numberRangeRecipe, overlayMotion, paperActionRecipe, paperBadgeRecipe, paperBodyRecipe, paperHeaderRecipe, paperInsets, paperRecipe, paperRuleRecipe, paperTones, paperVariants, progressBarRangeRecipe, progressBarTones, progressBarTrackRecipe, queueAgeFillRecipe, queueAgeLabelRecipe, queueAgeRecipe, queueAgeTrackRecipe, queueDotRecipe, queueHintRecipe, queueLeadRecipe, queueRecipe, queueRowRecipe, queueTextRecipe, radioAccents, radioAsideRecipe, radioControlRecipe, radioDotRecipe, radioErrorRecipe, radioGroupLabelRecipe, radioGroupRecipe, radioHintRecipe, radioIndicatorRecipe, radioLabelRecipe, radioLeadRecipe, radioRecipe, radioTitleRecipe, restingEyebrow, restingWeight, scopeSwitcherBadgeRecipe, scopeSwitcherChevronsRecipe, scopeSwitcherCodeRecipe, scopeSwitcherDotRecipe, scopeSwitcherEyebrowRecipe, scopeSwitcherIconRecipe, scopeSwitcherListRecipe, scopeSwitcherMarkRecipe, scopeSwitcherPillIconRecipe, scopeSwitcherPillRecipe, scopeSwitcherRecipe, scopeSwitcherRowMetaRecipe, scopeSwitcherRowNameRecipe, scopeSwitcherRowRecipe, scopeSwitcherRowTextRecipe, scopeSwitcherTextRecipe, scopeSwitcherValueRecipe, scopeSwitcherWarningRecipe, scrollAreaRecipe, scrollAreaSurfaces, scrollBarRecipe, scrollContentRecipe, scrollCornerRecipe, scrollThumbRecipe, scrollViewportRecipe, searchEmptyRecipe, searchFieldRecipe, searchFootRecipe, searchHitMetaRecipe, searchHitRecipe, searchHitTextRecipe, searchInputRecipe, searchKeyRecipe, searchLabelRecipe, searchListRecipe, searchMarkRecipe, searchPanelRecipe, searchPositionerRecipe, searchRuleRecipe, searchTriggerRecipe, sectionHeaderEyebrows, sectionHeaderLabelStackRecipe, sectionHeaderRecipe, sectionHeaderSizes, sectionHeaderTones, segmentedControlIndicatorRecipe, segmentedControlItemRecipe, segmentedControlRecipe, selectEmptyRecipe, selectIndicatorRecipe, selectRowRecipe, selectTriggerRecipe, selectValueRecipe, separatorOrientations, separatorRecipe, separatorTones, separatorVariants, sidebarBrandRecipe, sidebarBrandStackRecipe, sidebarBrandSubtitleRecipe, sidebarChevronRecipe, sidebarDotRecipe, sidebarFootRecipe, sidebarGroupRecipe, sidebarHeadRecipe, sidebarIconRecipe, sidebarItemRecipe, sidebarLabelRecipe, sidebarMarkRecipe, sidebarMobileBarRecipe, sidebarMobileEyebrowRecipe, sidebarMobileHeadingsRecipe, sidebarMobileTitleRecipe, sidebarNavRecipe, sidebarOverlayBackdropRecipe, sidebarOverlayBodyRecipe, sidebarOverlayBrandRecipe, sidebarOverlayHeadRecipe, sidebarOverlayItemActive, sidebarOverlayNavRecipe, sidebarOverlayPanelRecipe, sidebarOverlayPositionerRecipe, sidebarOverlayScopeRecipe, sidebarOverlaySeparatorRecipe, sidebarRecipe, sidebarScopeRecipe, sidebarSubRecipe, sidebarSwitchRecipe, sidebarToggleRecipe, sidebarTravel, sidebarWordmarkRecipe, skyRecipe, sliderBoundsRecipe, sliderControlRecipe, sliderFootRecipe, sliderHeadRecipe, sliderHintRecipe, sliderKnobSize, sliderLabelRecipe, sliderNotchRecipe, sliderNotchesRecipe, sliderRangeRecipe, sliderRecipe, sliderThumbRecipe, sliderTrackRecipe, sliderValueRecipe, starLayers, starRecipe, statAccents, statChangeRecipe, statDirections, statFigureRecipe, statHintRecipe, statLabelRecipe, statRecipe, statSparkRecipe, statSparkShapes, statStackRecipe, statSurfaces, statTermRecipe, statUnitRecipe, statValueRecipe, switchAccents, switchControlRecipe, switchHintRecipe, switchLabelRecipe, switchRecipe, switchThumbRecipe, switchTitleRecipe, tableActionsCellRecipe, tableActionsWidth, tableAppliedRecipe, tableBodyRecipe, tableCardRecipe, tableCellRecipe, tableDetailBodyRecipe, tableDetailRecipe, tableEmptyHintRecipe, tableEmptyRecipe, tableEmptyTitleRecipe, tableExpandIconRecipe, tableExpandRecipe, tableFilterCountRecipe, tableFilterFieldRecipe, tableFilterFootRecipe, tableFilterMarkRecipe, tableFilterOptionRecipe, tableFilterOptionsRecipe, tableFilterPanelRecipe, tableFilterRecipe, tableFilterRuleRecipe, tableFilterTitleRecipe, tableFootRecipe, tableGapRecipe, tableGridRecipe, tableGroupRecipe, tableHeadCellRecipe, tableHeadRowRecipe, tableHeadingRecipe, tableMarkRecipe, tablePageMarkRecipe, tablePageRecipe, tablePageSizeMarkRecipe, tablePageSizeRecipe, tablePageSizeStripRecipe, tablePageSizesRecipe, tablePagesRecipe, tablePagingRecipe, tablePinWidth, tableRangeRecipe, tableRankRecipe, tableRecipe, tableRowRecipe, tableRuleRecipe, tableScrollRecipe, tableSearchRecipe, tableSelectCellRecipe, tableSelectionActionsRecipe, tableSelectionCountRecipe, tableSelectionRecipe, tableSkeletonBarRecipe, tableSkeletonMarkRecipe, tableSortIconRecipe, tableSortLabelRecipe, tableSortMarkRecipe, tableSortRecipe, tableStepRecipe, tableToolbarRecipe, tableValueRecipe, tailAtRecipe, tailEmptyRecipe, tailGutterRecipe, tailLineRecipe, tailRecipe, tailScrollRecipe, tailSeverities, tailTextRecipe, textFamilies, textRecipe, textSizes, textTones, textWeights, textareaCountRecipe, textareaRecipe, textareaShellRecipe, tileCloudRecipe, tileGlyphRecipe, tileRecipe, tileRests, tileTones, toneBlend, toneText, toneTint, tooltipArrowRecipe, tooltipArrowTipRecipe, tooltipCloseToken, tooltipOpenToken, tooltipPlacements, tooltipRecipe, topBarActionsRecipe, topBarContentRecipe, topBarEdgeRecipe, topBarEyebrowRecipe, topBarHeadingsRecipe, topBarLevels, topBarRecipe, topBarRuleRecipe, topBarTitleRecipe, trailBadgeRecipe, trailCaptionRecipe, trailConnectorRecipe, trailFlows, trailHintRecipe, trailLabelRecipe, trailRecipe, trailSpinRecipe, trailStates, trailStepRecipe, trailingActionRecipe, trailingRecipe, userAvatarRecipe, userChevronRecipe, userIdentityRecipe, userNameRecipe, userPortraitRecipe, userRoleRecipe, userTriggerRecipe };
|
package/dist/recipes/stat.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SparkShape } from "../charts/spark.js";
|
|
2
1
|
import { Tone } from "../tone.js";
|
|
3
2
|
//#region src/recipes/stat.d.ts
|
|
4
3
|
declare const statAccents: readonly ["accent", "success", "warning", "info", "danger"];
|
|
@@ -20,7 +19,7 @@ declare const statValueRecipe: (props?: import("class-variance-authority/types")
|
|
|
20
19
|
declare const statUnitRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
21
20
|
declare const statHintRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
22
21
|
declare const statSparkShapes: readonly ["line", "bars"];
|
|
23
|
-
type StatSparkShape =
|
|
22
|
+
type StatSparkShape = (typeof statSparkShapes)[number];
|
|
24
23
|
declare const defaultStatSparkShape = "line";
|
|
25
24
|
declare const statSparkRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
26
25
|
declare const statChangeRecipe: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
package/dist/recipes/stat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stat.js","names":[],"sources":["../../src/recipes/stat.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport
|
|
1
|
+
{"version":3,"file":"stat.js","names":[],"sources":["../../src/recipes/stat.ts"],"sourcesContent":["import { cva } from 'class-variance-authority'\n\nimport { tileRoused } from '#parts/rouse'\nimport { defaultTone, tones } from '#parts/tone'\nimport type { Tone } from '#tone'\nimport { toneBlend } from '#tone'\n\nconst statAccents = tones\n\ntype StatAccent = Tone\n\nconst statDirections = ['up', 'down'] as const\n\ntype StatDirection = (typeof statDirections)[number]\n\nconst defaultStatAccent = defaultTone\n\nconst BLEND = toneBlend\n\ntype StatSurface = 'glass' | 'flat'\n\nconst statSurfaces = ['glass', 'flat'] as const satisfies readonly StatSurface[]\n\nconst defaultStatSurface = 'glass' satisfies StatSurface\n\nconst statRecipe = cva(\n [\n '@container relative isolate flex min-w-0 grow items-center gap-5 p-6',\n 'font-tf-body text-tf-fg tf-transition',\n tileRoused,\n ],\n {\n defaultVariants: { accent: defaultStatAccent, surface: defaultStatSurface },\n variants: {\n accent: BLEND,\n surface: {\n flat: '',\n glass: [\n 'rounded-tf-card bg-tf-glass shadow-tf-float backdrop-blur-tf-glass',\n 'tf-edge-sweep',\n 'motion-safe:tf-lands',\n ].join(' '),\n } satisfies Record<StatSurface, string>,\n },\n },\n)\n\nconst statStackRecipe = cva('flex min-w-0 grow flex-wrap items-center gap-x-3 gap-y-1')\n\nconst statLabelRecipe = cva(['order-1 grow text-tf-body-sm font-medium text-tf-fg'])\n\nconst statFigureRecipe = cva('order-3 m-0 flex basis-full flex-nowrap items-baseline gap-2')\n\nconst statValueRecipe = cva([\n 'font-tf-display text-tf-figure font-bold tracking-tf-tight text-tf-fg',\n 'motion-safe:tf-tallies',\n])\n\nconst statUnitRecipe = cva('text-tf-unit font-tf-body font-medium text-tf-muted')\n\nconst statHintRecipe = cva('order-4 basis-full text-tf-caption-sm text-tf-muted')\n\nconst statSparkShapes = ['line', 'bars'] as const\n\ntype StatSparkShape = (typeof statSparkShapes)[number]\n\nconst defaultStatSparkShape = 'line' satisfies StatSparkShape\n\nconst statSparkRecipe = cva('order-5 mt-2 h-7 w-full basis-full')\n\nconst statChangeRecipe = cva([\n 'relative order-2 m-0 ml-auto inline-flex items-center gap-1',\n 'tf-edge-sweep rounded-tf-pill bg-tf-panel px-2 py-1 blend-tf-accent',\n 'text-tf-caption-sm font-normal whitespace-nowrap text-tf-accent-hi tabular-nums',\n 'tf-icons [&_svg]:size-tf-icon-sm [&_svg]:shrink-0',\n])\n\nconst statTermRecipe = cva('sr-only')\n\nexport {\n type StatAccent,\n type StatDirection,\n type StatSparkShape,\n type StatSurface,\n defaultStatAccent,\n defaultStatSparkShape,\n defaultStatSurface,\n statAccents,\n statChangeRecipe,\n statDirections,\n statFigureRecipe,\n statHintRecipe,\n statLabelRecipe,\n statRecipe,\n statSparkRecipe,\n statSparkShapes,\n statStackRecipe,\n statSurfaces,\n statTermRecipe,\n statUnitRecipe,\n statValueRecipe,\n}\n"],"mappings":";;;;;AAOA,MAAM,cAAc;AAIpB,MAAM,iBAAiB,CAAC,MAAM,MAAM;AAIpC,MAAM,oBAAoB;AAE1B,MAAM,QAAQ;AAId,MAAM,eAAe,CAAC,SAAS,MAAM;AAErC,MAAM,qBAAqB;AAE3B,MAAM,aAAa,IACjB;CACE;CACA;CACA;AACF,GACA;CACE,iBAAiB;EAAE,QAAQ;EAAmB,SAAS;CAAmB;CAC1E,UAAU;EACR,QAAQ;EACR,SAAS;GACP,MAAM;GACN,OAAO;IACL;IACA;IACA;GACF,CAAC,CAAC,KAAK,GAAG;EACZ;CACF;AACF,CACF;AAEA,MAAM,kBAAkB,IAAI,0DAA0D;AAEtF,MAAM,kBAAkB,IAAI,CAAC,qDAAqD,CAAC;AAEnF,MAAM,mBAAmB,IAAI,8DAA8D;AAE3F,MAAM,kBAAkB,IAAI,CAC1B,yEACA,wBACF,CAAC;AAED,MAAM,iBAAiB,IAAI,qDAAqD;AAEhF,MAAM,iBAAiB,IAAI,qDAAqD;AAEhF,MAAM,kBAAkB,CAAC,QAAQ,MAAM;AAIvC,MAAM,wBAAwB;AAE9B,MAAM,kBAAkB,IAAI,oCAAoC;AAEhE,MAAM,mBAAmB,IAAI;CAC3B;CACA;CACA;CACA;AACF,CAAC;AAED,MAAM,iBAAiB,IAAI,SAAS"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@techfides/ui-library-design",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Framework-agnostic design core for the TechFides UI library: Tailwind design tokens and component variant recipes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cva",
|
|
@@ -42,7 +42,6 @@
|
|
|
42
42
|
"@fontsource/poppins": "^5.3.0",
|
|
43
43
|
"class-variance-authority": "^0.7.1",
|
|
44
44
|
"clsx": "^2.1.1",
|
|
45
|
-
"echarts": "^6.1.0",
|
|
46
45
|
"tailwind-merge": "^3.6.0"
|
|
47
46
|
},
|
|
48
47
|
"devDependencies": {
|
|
@@ -52,12 +51,6 @@
|
|
|
52
51
|
"typescript": "~6.0.3",
|
|
53
52
|
"@techfides/tsconfig": "0.0.0"
|
|
54
53
|
},
|
|
55
|
-
"browserslist": [
|
|
56
|
-
"last 1 chrome version",
|
|
57
|
-
"last 1 edge version",
|
|
58
|
-
"last 1 firefox version",
|
|
59
|
-
"last 1 safari version"
|
|
60
|
-
],
|
|
61
54
|
"engines": {
|
|
62
55
|
"node": ">=24"
|
|
63
56
|
},
|
package/dist/charts/animation.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
//#region src/charts/animation.ts
|
|
2
|
-
const CHART_EASING = "cubicOut";
|
|
3
|
-
const chartAnimation = (durationMs) => ({
|
|
4
|
-
animation: true,
|
|
5
|
-
animationDuration: durationMs,
|
|
6
|
-
animationDurationUpdate: durationMs,
|
|
7
|
-
animationEasing: CHART_EASING,
|
|
8
|
-
animationEasingUpdate: CHART_EASING
|
|
9
|
-
});
|
|
10
|
-
const chartStagger = (stepMs) => (index) => index * stepMs;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { CHART_EASING, chartAnimation, chartStagger };
|
|
13
|
-
|
|
14
|
-
//# sourceMappingURL=animation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"animation.js","names":[],"sources":["../../src/charts/animation.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts'\n\nconst CHART_EASING = 'cubicOut'\n\ntype ChartAnimation = Pick<\n EChartsOption,\n | 'animation'\n | 'animationDuration'\n | 'animationDurationUpdate'\n | 'animationEasing'\n | 'animationEasingUpdate'\n>\n\nconst chartAnimation = (durationMs: number): ChartAnimation => ({\n animation: true,\n animationDuration: durationMs,\n animationDurationUpdate: durationMs,\n animationEasing: CHART_EASING,\n animationEasingUpdate: CHART_EASING,\n})\n\nconst chartStagger =\n (stepMs: number) =>\n (index: number): number =>\n index * stepMs\n\nexport { CHART_EASING, chartAnimation, chartStagger }\n"],"mappings":";AAEA,MAAM,eAAe;AAWrB,MAAM,kBAAkB,gBAAwC;CAC9D,WAAW;CACX,mBAAmB;CACnB,yBAAyB;CACzB,iBAAiB;CACjB,uBAAuB;AACzB;AAEA,MAAM,gBACH,YACA,UACC,QAAQ"}
|
package/dist/charts/bars.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { EChartsOption } from "echarts";
|
|
2
|
-
//#region src/charts/bars.d.ts
|
|
3
|
-
interface BarsAccent {
|
|
4
|
-
hi: string;
|
|
5
|
-
surface: string;
|
|
6
|
-
}
|
|
7
|
-
interface BarsPoint {
|
|
8
|
-
label: string;
|
|
9
|
-
value: number | null;
|
|
10
|
-
}
|
|
11
|
-
interface BarsOptionInput {
|
|
12
|
-
accent: BarsAccent;
|
|
13
|
-
durationMs: number;
|
|
14
|
-
labelColor: string;
|
|
15
|
-
radius: number;
|
|
16
|
-
stateDurationMs: number;
|
|
17
|
-
values: readonly BarsPoint[];
|
|
18
|
-
}
|
|
19
|
-
declare const barsOption: (input: BarsOptionInput) => EChartsOption;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { type BarsAccent, type BarsOptionInput, type BarsPoint, barsOption };
|
|
22
|
-
//# sourceMappingURL=bars.d.ts.map
|
package/dist/charts/bars.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { CHART_EASING, chartAnimation, chartStagger } from "./animation.js";
|
|
2
|
-
import { verticalGradient } from "./paint.js";
|
|
3
|
-
import { chartTooltip, formatCallbackValue } from "./tooltip.js";
|
|
4
|
-
//#region src/charts/bars.ts
|
|
5
|
-
const GRID = {
|
|
6
|
-
bottom: 22,
|
|
7
|
-
left: 4,
|
|
8
|
-
right: 4,
|
|
9
|
-
top: 8
|
|
10
|
-
};
|
|
11
|
-
const BAR_CATEGORY_GAP = "35%";
|
|
12
|
-
const LABEL_FONT_SIZE = 11;
|
|
13
|
-
const STAGGER_MS = 40;
|
|
14
|
-
const EMPTY_LENGTH = 0;
|
|
15
|
-
const FIRST_INDEX = 0;
|
|
16
|
-
const barPointFormatter = (params) => {
|
|
17
|
-
const point = params[FIRST_INDEX];
|
|
18
|
-
if (!point) return "";
|
|
19
|
-
return `${point.name}: ${formatCallbackValue(point.value)}`;
|
|
20
|
-
};
|
|
21
|
-
const barsOption = (input) => {
|
|
22
|
-
if (input.values.length === EMPTY_LENGTH) return { series: [] };
|
|
23
|
-
return {
|
|
24
|
-
...chartAnimation(input.durationMs),
|
|
25
|
-
grid: GRID,
|
|
26
|
-
series: [{
|
|
27
|
-
animationDelay: chartStagger(STAGGER_MS),
|
|
28
|
-
barCategoryGap: BAR_CATEGORY_GAP,
|
|
29
|
-
data: input.values.map((point) => point.value),
|
|
30
|
-
emphasis: { disabled: true },
|
|
31
|
-
itemStyle: {
|
|
32
|
-
borderRadius: input.radius,
|
|
33
|
-
color: verticalGradient(input.accent.hi, input.accent.surface)
|
|
34
|
-
},
|
|
35
|
-
stateAnimation: {
|
|
36
|
-
duration: input.stateDurationMs,
|
|
37
|
-
easing: CHART_EASING
|
|
38
|
-
},
|
|
39
|
-
type: "bar"
|
|
40
|
-
}],
|
|
41
|
-
tooltip: chartTooltip(barPointFormatter),
|
|
42
|
-
xAxis: {
|
|
43
|
-
axisLabel: {
|
|
44
|
-
color: input.labelColor,
|
|
45
|
-
fontSize: LABEL_FONT_SIZE
|
|
46
|
-
},
|
|
47
|
-
axisLine: { show: false },
|
|
48
|
-
axisTick: { show: false },
|
|
49
|
-
data: input.values.map((point) => point.label),
|
|
50
|
-
type: "category"
|
|
51
|
-
},
|
|
52
|
-
yAxis: {
|
|
53
|
-
show: false,
|
|
54
|
-
type: "value"
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
//#endregion
|
|
59
|
-
export { barsOption };
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=bars.js.map
|
package/dist/charts/bars.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bars.js","names":[],"sources":["../../src/charts/bars.ts"],"sourcesContent":["import type { DefaultLabelFormatterCallbackParams, EChartsOption } from 'echarts'\n\nimport { CHART_EASING, chartAnimation, chartStagger } from './animation'\nimport { verticalGradient } from './paint'\nimport { chartTooltip, formatCallbackValue } from './tooltip'\n\ninterface BarsAccent {\n hi: string\n\n surface: string\n}\n\ninterface BarsPoint {\n label: string\n\n value: number | null\n}\n\ninterface BarsOptionInput {\n accent: BarsAccent\n\n durationMs: number\n\n labelColor: string\n\n radius: number\n\n stateDurationMs: number\n\n values: readonly BarsPoint[]\n}\n\nconst GRID = { bottom: 22, left: 4, right: 4, top: 8 }\n\nconst BAR_CATEGORY_GAP = '35%'\n\nconst LABEL_FONT_SIZE = 11\n\nconst STAGGER_MS = 40\n\nconst EMPTY_LENGTH = 0\n\nconst FIRST_INDEX = 0\n\nconst barPointFormatter = (params: readonly DefaultLabelFormatterCallbackParams[]): string => {\n const point = params[FIRST_INDEX]\n\n if (!point) {\n return ''\n }\n return `${point.name}: ${formatCallbackValue(point.value)}`\n}\n\nconst barsOption = (input: BarsOptionInput): EChartsOption => {\n if (input.values.length === EMPTY_LENGTH) {\n return { series: [] }\n }\n return {\n ...chartAnimation(input.durationMs),\n grid: GRID,\n series: [\n {\n animationDelay: chartStagger(STAGGER_MS),\n barCategoryGap: BAR_CATEGORY_GAP,\n data: input.values.map((point) => point.value),\n emphasis: { disabled: true },\n itemStyle: {\n borderRadius: input.radius,\n color: verticalGradient(input.accent.hi, input.accent.surface),\n },\n stateAnimation: { duration: input.stateDurationMs, easing: CHART_EASING },\n type: 'bar',\n },\n ],\n tooltip: chartTooltip(barPointFormatter),\n xAxis: {\n axisLabel: { color: input.labelColor, fontSize: LABEL_FONT_SIZE },\n axisLine: { show: false },\n axisTick: { show: false },\n data: input.values.map((point) => point.label),\n type: 'category',\n },\n yAxis: { show: false, type: 'value' },\n }\n}\n\nexport { type BarsAccent, type BarsOptionInput, type BarsPoint, barsOption }\n"],"mappings":";;;;AAgCA,MAAM,OAAO;CAAE,QAAQ;CAAI,MAAM;CAAG,OAAO;CAAG,KAAK;AAAE;AAErD,MAAM,mBAAmB;AAEzB,MAAM,kBAAkB;AAExB,MAAM,aAAa;AAEnB,MAAM,eAAe;AAErB,MAAM,cAAc;AAEpB,MAAM,qBAAqB,WAAmE;CAC5F,MAAM,QAAQ,OAAO;CAErB,IAAI,CAAC,OACH,OAAO;CAET,OAAO,GAAG,MAAM,KAAK,IAAI,oBAAoB,MAAM,KAAK;AAC1D;AAEA,MAAM,cAAc,UAA0C;CAC5D,IAAI,MAAM,OAAO,WAAW,cAC1B,OAAO,EAAE,QAAQ,CAAC,EAAE;CAEtB,OAAO;EACL,GAAG,eAAe,MAAM,UAAU;EAClC,MAAM;EACN,QAAQ,CACN;GACE,gBAAgB,aAAa,UAAU;GACvC,gBAAgB;GAChB,MAAM,MAAM,OAAO,KAAK,UAAU,MAAM,KAAK;GAC7C,UAAU,EAAE,UAAU,KAAK;GAC3B,WAAW;IACT,cAAc,MAAM;IACpB,OAAO,iBAAiB,MAAM,OAAO,IAAI,MAAM,OAAO,OAAO;GAC/D;GACA,gBAAgB;IAAE,UAAU,MAAM;IAAiB,QAAQ;GAAa;GACxE,MAAM;EACR,CACF;EACA,SAAS,aAAa,iBAAiB;EACvC,OAAO;GACL,WAAW;IAAE,OAAO,MAAM;IAAY,UAAU;GAAgB;GAChE,UAAU,EAAE,MAAM,MAAM;GACxB,UAAU,EAAE,MAAM,MAAM;GACxB,MAAM,MAAM,OAAO,KAAK,UAAU,MAAM,KAAK;GAC7C,MAAM;EACR;EACA,OAAO;GAAE,MAAM;GAAO,MAAM;EAAQ;CACtC;AACF"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { EChartsOption } from "echarts";
|
|
2
|
-
//#region src/charts/groupedBars.d.ts
|
|
3
|
-
interface GroupedBarsSeries {
|
|
4
|
-
color: string;
|
|
5
|
-
name: string;
|
|
6
|
-
values: readonly (number | null)[];
|
|
7
|
-
}
|
|
8
|
-
interface GroupedBarsOptionInput {
|
|
9
|
-
categories: readonly string[];
|
|
10
|
-
durationMs: number;
|
|
11
|
-
labelColor: string;
|
|
12
|
-
radius: number;
|
|
13
|
-
series: readonly GroupedBarsSeries[];
|
|
14
|
-
stateDurationMs: number;
|
|
15
|
-
valueFormat?: (value: number) => string;
|
|
16
|
-
}
|
|
17
|
-
declare const groupedBarsOption: (input: GroupedBarsOptionInput) => EChartsOption;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { type GroupedBarsOptionInput, type GroupedBarsSeries, groupedBarsOption };
|
|
20
|
-
//# sourceMappingURL=groupedBars.d.ts.map
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { CHART_EASING, chartAnimation } from "./animation.js";
|
|
2
|
-
import { chartTooltip, formatCallbackValue } from "./tooltip.js";
|
|
3
|
-
//#region src/charts/groupedBars.ts
|
|
4
|
-
const GRID = {
|
|
5
|
-
bottom: 22,
|
|
6
|
-
left: 4,
|
|
7
|
-
right: 4,
|
|
8
|
-
top: 8
|
|
9
|
-
};
|
|
10
|
-
const BAR_CATEGORY_GAP = "35%";
|
|
11
|
-
const LABEL_FONT_SIZE = 11;
|
|
12
|
-
const EMPTY_LENGTH = 0;
|
|
13
|
-
const FIRST_INDEX = 0;
|
|
14
|
-
const DOT_CLASS = "inline-block size-2 flex-none rounded-tf-pill";
|
|
15
|
-
const ROW_CLASS = "flex items-center justify-between gap-3";
|
|
16
|
-
const NAME_CLASS = "flex items-center gap-1.5";
|
|
17
|
-
const VALUE_CLASS = "font-semibold tabular-nums";
|
|
18
|
-
const formatValue = (value, valueFormat) => {
|
|
19
|
-
if (typeof value === "number") return valueFormat(value);
|
|
20
|
-
return formatCallbackValue(value);
|
|
21
|
-
};
|
|
22
|
-
const NO_COLOR = "";
|
|
23
|
-
const colorOf = (point) => {
|
|
24
|
-
if (typeof point.color === "string") return point.color;
|
|
25
|
-
return NO_COLOR;
|
|
26
|
-
};
|
|
27
|
-
const groupedBarRow = (point, valueFormat) => {
|
|
28
|
-
const color = colorOf(point);
|
|
29
|
-
const name = formatCallbackValue(point.seriesName);
|
|
30
|
-
return `<div class="${ROW_CLASS}"><span class="${NAME_CLASS}"><span aria-hidden="true" class="${DOT_CLASS}" style="background:${color}"></span>${name}</span><span class="${VALUE_CLASS}">${formatValue(point.value, valueFormat)}</span></div>`;
|
|
31
|
-
};
|
|
32
|
-
const groupedBarsFormatter = (valueFormat) => (params) => {
|
|
33
|
-
const first = params[FIRST_INDEX];
|
|
34
|
-
if (!first) return "";
|
|
35
|
-
return `<div class="flex flex-col gap-1"><span class="font-semibold">${formatCallbackValue(first.name)}</span>${params.map((point) => groupedBarRow(point, valueFormat)).join("")}</div>`;
|
|
36
|
-
};
|
|
37
|
-
const IDENTITY_FORMAT = String;
|
|
38
|
-
const AXIS_SHADOW_COLOR = "rgb(255 255 255 / 9%)";
|
|
39
|
-
const groupedBarsOption = (input) => {
|
|
40
|
-
if (input.categories.length === EMPTY_LENGTH) return { series: [] };
|
|
41
|
-
const valueFormat = input.valueFormat ?? IDENTITY_FORMAT;
|
|
42
|
-
return {
|
|
43
|
-
...chartAnimation(input.durationMs),
|
|
44
|
-
grid: GRID,
|
|
45
|
-
series: input.series.map((series) => ({
|
|
46
|
-
barCategoryGap: BAR_CATEGORY_GAP,
|
|
47
|
-
data: [...series.values],
|
|
48
|
-
itemStyle: {
|
|
49
|
-
borderRadius: input.radius,
|
|
50
|
-
color: series.color
|
|
51
|
-
},
|
|
52
|
-
name: series.name,
|
|
53
|
-
stateAnimation: {
|
|
54
|
-
duration: input.stateDurationMs,
|
|
55
|
-
easing: CHART_EASING
|
|
56
|
-
},
|
|
57
|
-
type: "bar"
|
|
58
|
-
})),
|
|
59
|
-
tooltip: chartTooltip(groupedBarsFormatter(valueFormat), "axis", {
|
|
60
|
-
shadowStyle: { color: AXIS_SHADOW_COLOR },
|
|
61
|
-
type: "shadow"
|
|
62
|
-
}),
|
|
63
|
-
xAxis: {
|
|
64
|
-
axisLabel: {
|
|
65
|
-
color: input.labelColor,
|
|
66
|
-
fontSize: LABEL_FONT_SIZE
|
|
67
|
-
},
|
|
68
|
-
axisLine: { show: false },
|
|
69
|
-
axisTick: { show: false },
|
|
70
|
-
data: [...input.categories],
|
|
71
|
-
type: "category"
|
|
72
|
-
},
|
|
73
|
-
yAxis: {
|
|
74
|
-
show: false,
|
|
75
|
-
type: "value"
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
//#endregion
|
|
80
|
-
export { groupedBarsOption };
|
|
81
|
-
|
|
82
|
-
//# sourceMappingURL=groupedBars.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupedBars.js","names":[],"sources":["../../src/charts/groupedBars.ts"],"sourcesContent":["import type { DefaultLabelFormatterCallbackParams, EChartsOption } from 'echarts'\n\nimport { CHART_EASING, chartAnimation } from './animation'\nimport { chartTooltip, formatCallbackValue } from './tooltip'\n\ninterface GroupedBarsSeries {\n color: string\n\n name: string\n\n values: readonly (number | null)[]\n}\n\ninterface GroupedBarsOptionInput {\n categories: readonly string[]\n\n durationMs: number\n\n labelColor: string\n\n radius: number\n\n series: readonly GroupedBarsSeries[]\n\n stateDurationMs: number\n\n valueFormat?: (value: number) => string\n}\n\nconst GRID = { bottom: 22, left: 4, right: 4, top: 8 }\n\nconst BAR_CATEGORY_GAP = '35%'\n\nconst LABEL_FONT_SIZE = 11\n\nconst EMPTY_LENGTH = 0\n\nconst FIRST_INDEX = 0\n\nconst DOT_CLASS = 'inline-block size-2 flex-none rounded-tf-pill'\n\nconst ROW_CLASS = 'flex items-center justify-between gap-3'\n\nconst NAME_CLASS = 'flex items-center gap-1.5'\n\nconst VALUE_CLASS = 'font-semibold tabular-nums'\n\nconst formatValue = (value: unknown, valueFormat: (value: number) => string): string => {\n if (typeof value === 'number') {\n return valueFormat(value)\n }\n return formatCallbackValue(value)\n}\n\nconst NO_COLOR = ''\n\nconst colorOf = (point: DefaultLabelFormatterCallbackParams): string => {\n if (typeof point.color === 'string') {\n return point.color\n }\n return NO_COLOR\n}\n\nconst groupedBarRow = (\n point: DefaultLabelFormatterCallbackParams,\n valueFormat: (value: number) => string,\n): string => {\n const color = colorOf(point)\n const name = formatCallbackValue(point.seriesName)\n\n return (\n `<div class=\"${ROW_CLASS}\">` +\n `<span class=\"${NAME_CLASS}\"><span aria-hidden=\"true\" class=\"${DOT_CLASS}\" style=\"background:${color}\"></span>${name}</span>` +\n `<span class=\"${VALUE_CLASS}\">${formatValue(point.value, valueFormat)}</span>` +\n `</div>`\n )\n}\n\nconst groupedBarsFormatter =\n (valueFormat: (value: number) => string) =>\n (params: readonly DefaultLabelFormatterCallbackParams[]): string => {\n const first = params[FIRST_INDEX]\n\n if (!first) {\n return ''\n }\n const heading = formatCallbackValue(first.name)\n const rows = params.map((point) => groupedBarRow(point, valueFormat)).join('')\n\n return `<div class=\"flex flex-col gap-1\"><span class=\"font-semibold\">${heading}</span>${rows}</div>`\n }\n\nconst IDENTITY_FORMAT = String\n\nconst AXIS_SHADOW_COLOR = 'rgb(255 255 255 / 9%)'\n\nconst groupedBarsOption = (input: GroupedBarsOptionInput): EChartsOption => {\n if (input.categories.length === EMPTY_LENGTH) {\n return { series: [] }\n }\n const valueFormat = input.valueFormat ?? IDENTITY_FORMAT\n\n return {\n ...chartAnimation(input.durationMs),\n grid: GRID,\n series: input.series.map((series) => ({\n barCategoryGap: BAR_CATEGORY_GAP,\n data: [...series.values],\n itemStyle: { borderRadius: input.radius, color: series.color },\n name: series.name,\n stateAnimation: { duration: input.stateDurationMs, easing: CHART_EASING },\n type: 'bar' as const,\n })),\n tooltip: chartTooltip(groupedBarsFormatter(valueFormat), 'axis', {\n shadowStyle: { color: AXIS_SHADOW_COLOR },\n type: 'shadow',\n }),\n xAxis: {\n axisLabel: { color: input.labelColor, fontSize: LABEL_FONT_SIZE },\n axisLine: { show: false },\n axisTick: { show: false },\n data: [...input.categories],\n type: 'category',\n },\n yAxis: { show: false, type: 'value' },\n }\n}\n\nexport { type GroupedBarsOptionInput, type GroupedBarsSeries, groupedBarsOption }\n"],"mappings":";;;AA6BA,MAAM,OAAO;CAAE,QAAQ;CAAI,MAAM;CAAG,OAAO;CAAG,KAAK;AAAE;AAErD,MAAM,mBAAmB;AAEzB,MAAM,kBAAkB;AAExB,MAAM,eAAe;AAErB,MAAM,cAAc;AAEpB,MAAM,YAAY;AAElB,MAAM,YAAY;AAElB,MAAM,aAAa;AAEnB,MAAM,cAAc;AAEpB,MAAM,eAAe,OAAgB,gBAAmD;CACtF,IAAI,OAAO,UAAU,UACnB,OAAO,YAAY,KAAK;CAE1B,OAAO,oBAAoB,KAAK;AAClC;AAEA,MAAM,WAAW;AAEjB,MAAM,WAAW,UAAuD;CACtE,IAAI,OAAO,MAAM,UAAU,UACzB,OAAO,MAAM;CAEf,OAAO;AACT;AAEA,MAAM,iBACJ,OACA,gBACW;CACX,MAAM,QAAQ,QAAQ,KAAK;CAC3B,MAAM,OAAO,oBAAoB,MAAM,UAAU;CAEjD,OACE,eAAe,UAAU,iBACT,WAAW,oCAAoC,UAAU,sBAAsB,MAAM,WAAW,KAAK,sBACrG,YAAY,IAAI,YAAY,MAAM,OAAO,WAAW,EAAE;AAG1E;AAEA,MAAM,wBACH,iBACA,WAAmE;CAClE,MAAM,QAAQ,OAAO;CAErB,IAAI,CAAC,OACH,OAAO;CAKT,OAAO,gEAHS,oBAAoB,MAAM,IAGmC,EAAE,SAFlE,OAAO,KAAK,UAAU,cAAc,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,EAEgB,EAAE;AAC/F;AAEF,MAAM,kBAAkB;AAExB,MAAM,oBAAoB;AAE1B,MAAM,qBAAqB,UAAiD;CAC1E,IAAI,MAAM,WAAW,WAAW,cAC9B,OAAO,EAAE,QAAQ,CAAC,EAAE;CAEtB,MAAM,cAAc,MAAM,eAAe;CAEzC,OAAO;EACL,GAAG,eAAe,MAAM,UAAU;EAClC,MAAM;EACN,QAAQ,MAAM,OAAO,KAAK,YAAY;GACpC,gBAAgB;GAChB,MAAM,CAAC,GAAG,OAAO,MAAM;GACvB,WAAW;IAAE,cAAc,MAAM;IAAQ,OAAO,OAAO;GAAM;GAC7D,MAAM,OAAO;GACb,gBAAgB;IAAE,UAAU,MAAM;IAAiB,QAAQ;GAAa;GACxE,MAAM;EACR,EAAE;EACF,SAAS,aAAa,qBAAqB,WAAW,GAAG,QAAQ;GAC/D,aAAa,EAAE,OAAO,kBAAkB;GACxC,MAAM;EACR,CAAC;EACD,OAAO;GACL,WAAW;IAAE,OAAO,MAAM;IAAY,UAAU;GAAgB;GAChE,UAAU,EAAE,MAAM,MAAM;GACxB,UAAU,EAAE,MAAM,MAAM;GACxB,MAAM,CAAC,GAAG,MAAM,UAAU;GAC1B,MAAM;EACR;EACA,OAAO;GAAE,MAAM;GAAO,MAAM;EAAQ;CACtC;AACF"}
|
package/dist/charts/paint.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { graphic } from "echarts/core";
|
|
2
|
-
//#region src/charts/paint.ts
|
|
3
|
-
const TOP = 0;
|
|
4
|
-
const BOTTOM = 1;
|
|
5
|
-
const LEFT = 0;
|
|
6
|
-
const START = 0;
|
|
7
|
-
const END = 1;
|
|
8
|
-
const verticalGradient = (from, to) => new graphic.LinearGradient(LEFT, TOP, LEFT, BOTTOM, [{
|
|
9
|
-
color: from,
|
|
10
|
-
offset: START
|
|
11
|
-
}, {
|
|
12
|
-
color: to,
|
|
13
|
-
offset: END
|
|
14
|
-
}]);
|
|
15
|
-
const TRANSPARENT = "rgba(0, 0, 0, 0)";
|
|
16
|
-
//#endregion
|
|
17
|
-
export { TRANSPARENT, verticalGradient };
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=paint.js.map
|
package/dist/charts/paint.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"paint.js","names":[],"sources":["../../src/charts/paint.ts"],"sourcesContent":["import { graphic } from 'echarts/core'\n\nconst TOP = 0\n\nconst BOTTOM = 1\n\nconst LEFT = 0\n\nconst START = 0\n\nconst END = 1\n\nconst verticalGradient = (from: string, to: string): graphic.LinearGradient =>\n new graphic.LinearGradient(LEFT, TOP, LEFT, BOTTOM, [\n { color: from, offset: START },\n { color: to, offset: END },\n ])\n\nconst TRANSPARENT = 'rgba(0, 0, 0, 0)'\n\nexport { TRANSPARENT, verticalGradient }\n"],"mappings":";;AAEA,MAAM,MAAM;AAEZ,MAAM,SAAS;AAEf,MAAM,OAAO;AAEb,MAAM,QAAQ;AAEd,MAAM,MAAM;AAEZ,MAAM,oBAAoB,MAAc,OACtC,IAAI,QAAQ,eAAe,MAAM,KAAK,MAAM,QAAQ,CAClD;CAAE,OAAO;CAAM,QAAQ;AAAM,GAC7B;CAAE,OAAO;CAAI,QAAQ;AAAI,CAC3B,CAAC;AAEH,MAAM,cAAc"}
|
package/dist/charts/spark.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { BarsAccent } from "./bars.js";
|
|
2
|
-
import { EChartsOption } from "echarts";
|
|
3
|
-
//#region src/charts/spark.d.ts
|
|
4
|
-
type SparkShape = 'line' | 'bars';
|
|
5
|
-
type SparkAccent = BarsAccent;
|
|
6
|
-
interface SparkOptionInput {
|
|
7
|
-
accent: SparkAccent;
|
|
8
|
-
durationMs: number;
|
|
9
|
-
stateDurationMs: number;
|
|
10
|
-
radius: number;
|
|
11
|
-
shape: SparkShape;
|
|
12
|
-
values: readonly number[];
|
|
13
|
-
}
|
|
14
|
-
declare const sparkOption: (input: SparkOptionInput) => EChartsOption;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { type SparkAccent, type SparkOptionInput, type SparkShape, sparkOption };
|
|
17
|
-
//# sourceMappingURL=spark.d.ts.map
|
package/dist/charts/spark.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { CHART_EASING, chartAnimation, chartStagger } from "./animation.js";
|
|
2
|
-
import { TRANSPARENT, verticalGradient } from "./paint.js";
|
|
3
|
-
import { chartTooltip } from "./tooltip.js";
|
|
4
|
-
//#region src/charts/spark.ts
|
|
5
|
-
const LINE_WIDTH = 2;
|
|
6
|
-
const MARKER_SIZE = 5;
|
|
7
|
-
const MIN_SPAN = 1;
|
|
8
|
-
const EMPTY_LENGTH = 0;
|
|
9
|
-
const LAST_INDEX_OFFSET = 1;
|
|
10
|
-
const NO_GAP = 0;
|
|
11
|
-
const LINE_BOUNDARY_GAP = [NO_GAP, NO_GAP];
|
|
12
|
-
const LINE_GRID = {
|
|
13
|
-
bottom: 4,
|
|
14
|
-
left: 4,
|
|
15
|
-
right: 4,
|
|
16
|
-
top: 4
|
|
17
|
-
};
|
|
18
|
-
const BAR_GRID = {
|
|
19
|
-
bottom: 0,
|
|
20
|
-
left: 0,
|
|
21
|
-
right: 0,
|
|
22
|
-
top: 0
|
|
23
|
-
};
|
|
24
|
-
const BAR_CATEGORY_GAP = "25%";
|
|
25
|
-
const MIN_HEIGHT_RATIO = .15;
|
|
26
|
-
const BAR_AXIS_MAX = 1;
|
|
27
|
-
const BAR_AXIS_MIN = 0;
|
|
28
|
-
const AREA_OPACITY = .32;
|
|
29
|
-
const STAGGER_MS = 30;
|
|
30
|
-
const lastIndexOf = (values) => values.length - LAST_INDEX_OFFSET;
|
|
31
|
-
const NO_VALUE = 0;
|
|
32
|
-
const FIRST_INDEX = 0;
|
|
33
|
-
const pointFormatter = (values) => (params) => {
|
|
34
|
-
const point = params[FIRST_INDEX];
|
|
35
|
-
if (!point || typeof point.dataIndex !== "number") return String(NO_VALUE);
|
|
36
|
-
return String(values[point.dataIndex] ?? NO_VALUE);
|
|
37
|
-
};
|
|
38
|
-
const yRange = (values) => {
|
|
39
|
-
const min = Math.min(...values);
|
|
40
|
-
const max = Math.max(...values);
|
|
41
|
-
if (max === min) return {
|
|
42
|
-
max: min + MIN_SPAN,
|
|
43
|
-
min
|
|
44
|
-
};
|
|
45
|
-
return {
|
|
46
|
-
max,
|
|
47
|
-
min
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
const lineOption = (input) => {
|
|
51
|
-
const last = lastIndexOf(input.values);
|
|
52
|
-
const range = yRange(input.values);
|
|
53
|
-
const lastValue = input.values[last] ?? range.min;
|
|
54
|
-
return {
|
|
55
|
-
...chartAnimation(input.durationMs),
|
|
56
|
-
grid: LINE_GRID,
|
|
57
|
-
series: [{
|
|
58
|
-
areaStyle: {
|
|
59
|
-
color: verticalGradient(input.accent.hi, TRANSPARENT),
|
|
60
|
-
opacity: AREA_OPACITY
|
|
61
|
-
},
|
|
62
|
-
data: input.values.map((value, index) => [index, value]),
|
|
63
|
-
emphasis: { disabled: true },
|
|
64
|
-
lineStyle: {
|
|
65
|
-
cap: "round",
|
|
66
|
-
color: input.accent.surface,
|
|
67
|
-
join: "round",
|
|
68
|
-
width: LINE_WIDTH
|
|
69
|
-
},
|
|
70
|
-
markPoint: {
|
|
71
|
-
animation: true,
|
|
72
|
-
data: [{
|
|
73
|
-
coord: [last, lastValue],
|
|
74
|
-
name: ""
|
|
75
|
-
}],
|
|
76
|
-
itemStyle: { color: input.accent.hi },
|
|
77
|
-
label: { show: false },
|
|
78
|
-
symbol: "circle",
|
|
79
|
-
symbolSize: MARKER_SIZE
|
|
80
|
-
},
|
|
81
|
-
showSymbol: false,
|
|
82
|
-
stateAnimation: {
|
|
83
|
-
duration: input.stateDurationMs,
|
|
84
|
-
easing: CHART_EASING
|
|
85
|
-
},
|
|
86
|
-
symbolSize: MARKER_SIZE,
|
|
87
|
-
type: "line"
|
|
88
|
-
}],
|
|
89
|
-
tooltip: chartTooltip(pointFormatter(input.values), "axis"),
|
|
90
|
-
xAxis: {
|
|
91
|
-
boundaryGap: LINE_BOUNDARY_GAP,
|
|
92
|
-
max: last,
|
|
93
|
-
min: 0,
|
|
94
|
-
show: false,
|
|
95
|
-
type: "value"
|
|
96
|
-
},
|
|
97
|
-
yAxis: {
|
|
98
|
-
max: range.max,
|
|
99
|
-
min: range.min,
|
|
100
|
-
show: false,
|
|
101
|
-
type: "value"
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
const barHeightRatio = (value, range) => {
|
|
106
|
-
const ratio = (value - range.min) / (range.max - range.min);
|
|
107
|
-
return Math.max(ratio, MIN_HEIGHT_RATIO);
|
|
108
|
-
};
|
|
109
|
-
const barOption = (input) => {
|
|
110
|
-
const last = lastIndexOf(input.values);
|
|
111
|
-
const range = yRange(input.values);
|
|
112
|
-
return {
|
|
113
|
-
...chartAnimation(input.durationMs),
|
|
114
|
-
grid: BAR_GRID,
|
|
115
|
-
series: [{
|
|
116
|
-
animationDelay: chartStagger(STAGGER_MS),
|
|
117
|
-
barCategoryGap: BAR_CATEGORY_GAP,
|
|
118
|
-
data: input.values.map((value, index) => {
|
|
119
|
-
const height = barHeightRatio(value, range);
|
|
120
|
-
if (index === last) return {
|
|
121
|
-
itemStyle: { color: input.accent.hi },
|
|
122
|
-
value: height
|
|
123
|
-
};
|
|
124
|
-
return height;
|
|
125
|
-
}),
|
|
126
|
-
emphasis: { disabled: true },
|
|
127
|
-
itemStyle: {
|
|
128
|
-
borderRadius: input.radius,
|
|
129
|
-
color: verticalGradient(input.accent.hi, input.accent.surface)
|
|
130
|
-
},
|
|
131
|
-
stateAnimation: {
|
|
132
|
-
duration: input.stateDurationMs,
|
|
133
|
-
easing: CHART_EASING
|
|
134
|
-
},
|
|
135
|
-
type: "bar"
|
|
136
|
-
}],
|
|
137
|
-
tooltip: chartTooltip(pointFormatter(input.values)),
|
|
138
|
-
xAxis: {
|
|
139
|
-
data: input.values.map((_value, index) => String(index)),
|
|
140
|
-
show: false,
|
|
141
|
-
type: "category"
|
|
142
|
-
},
|
|
143
|
-
yAxis: {
|
|
144
|
-
max: BAR_AXIS_MAX,
|
|
145
|
-
min: BAR_AXIS_MIN,
|
|
146
|
-
show: false,
|
|
147
|
-
type: "value"
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
const sparkOption = (input) => {
|
|
152
|
-
if (input.values.length === EMPTY_LENGTH) return { series: [] };
|
|
153
|
-
if (input.shape === "bars") return barOption(input);
|
|
154
|
-
return lineOption(input);
|
|
155
|
-
};
|
|
156
|
-
//#endregion
|
|
157
|
-
export { sparkOption };
|
|
158
|
-
|
|
159
|
-
//# sourceMappingURL=spark.js.map
|
package/dist/charts/spark.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spark.js","names":[],"sources":["../../src/charts/spark.ts"],"sourcesContent":["import type { DefaultLabelFormatterCallbackParams, EChartsOption } from 'echarts'\n\nimport { CHART_EASING, chartAnimation, chartStagger } from './animation'\nimport type { BarsAccent } from './bars'\nimport { TRANSPARENT, verticalGradient } from './paint'\nimport { chartTooltip } from './tooltip'\n\ntype SparkShape = 'line' | 'bars'\n\ntype SparkAccent = BarsAccent\n\ninterface SparkOptionInput {\n accent: SparkAccent\n durationMs: number\n stateDurationMs: number\n radius: number\n shape: SparkShape\n values: readonly number[]\n}\n\nconst LINE_WIDTH = 2\n\nconst MARKER_SIZE = 5\n\nconst MIN_SPAN = 1\n\nconst EMPTY_LENGTH = 0\n\nconst LAST_INDEX_OFFSET = 1\n\nconst NO_GAP = 0\n\nconst LINE_BOUNDARY_GAP: [number, number] = [NO_GAP, NO_GAP]\n\nconst LINE_GRID = { bottom: 4, left: 4, right: 4, top: 4 }\n\nconst BAR_GRID = { bottom: 0, left: 0, right: 0, top: 0 }\n\nconst BAR_CATEGORY_GAP = '25%'\n\nconst MIN_HEIGHT_RATIO = 0.15\n\nconst BAR_AXIS_MAX = 1\n\nconst BAR_AXIS_MIN = 0\n\nconst AREA_OPACITY = 0.32\n\nconst STAGGER_MS = 30\n\nconst lastIndexOf = (values: readonly number[]): number => values.length - LAST_INDEX_OFFSET\n\nconst NO_VALUE = 0\n\nconst FIRST_INDEX = 0\n\nconst pointFormatter =\n (values: readonly number[]) =>\n (params: readonly DefaultLabelFormatterCallbackParams[]): string => {\n const point = params[FIRST_INDEX]\n\n if (!point || typeof point.dataIndex !== 'number') {\n return String(NO_VALUE)\n }\n return String(values[point.dataIndex] ?? NO_VALUE)\n }\n\nconst yRange = (values: readonly number[]): { max: number; min: number } => {\n const min = Math.min(...values)\n const max = Math.max(...values)\n\n if (max === min) {\n return { max: min + MIN_SPAN, min }\n }\n return { max, min }\n}\n\nconst lineOption = (input: SparkOptionInput): EChartsOption => {\n const last = lastIndexOf(input.values)\n const range = yRange(input.values)\n const lastValue = input.values[last] ?? range.min\n\n return {\n ...chartAnimation(input.durationMs),\n grid: LINE_GRID,\n series: [\n {\n areaStyle: {\n color: verticalGradient(input.accent.hi, TRANSPARENT),\n opacity: AREA_OPACITY,\n },\n data: input.values.map((value, index) => [index, value]),\n emphasis: { disabled: true },\n lineStyle: {\n cap: 'round',\n color: input.accent.surface,\n join: 'round',\n width: LINE_WIDTH,\n },\n markPoint: {\n animation: true,\n data: [{ coord: [last, lastValue], name: '' }],\n itemStyle: { color: input.accent.hi },\n label: { show: false },\n symbol: 'circle',\n symbolSize: MARKER_SIZE,\n },\n showSymbol: false,\n stateAnimation: { duration: input.stateDurationMs, easing: CHART_EASING },\n symbolSize: MARKER_SIZE,\n type: 'line',\n },\n ],\n tooltip: chartTooltip(pointFormatter(input.values), 'axis'),\n xAxis: { boundaryGap: LINE_BOUNDARY_GAP, max: last, min: 0, show: false, type: 'value' },\n yAxis: { max: range.max, min: range.min, show: false, type: 'value' },\n }\n}\n\nconst barHeightRatio = (value: number, range: { max: number; min: number }): number => {\n const ratio = (value - range.min) / (range.max - range.min)\n\n return Math.max(ratio, MIN_HEIGHT_RATIO)\n}\n\nconst barOption = (input: SparkOptionInput): EChartsOption => {\n const last = lastIndexOf(input.values)\n const range = yRange(input.values)\n\n return {\n ...chartAnimation(input.durationMs),\n grid: BAR_GRID,\n series: [\n {\n animationDelay: chartStagger(STAGGER_MS),\n barCategoryGap: BAR_CATEGORY_GAP,\n data: input.values.map((value, index) => {\n const height = barHeightRatio(value, range)\n\n if (index === last) {\n return { itemStyle: { color: input.accent.hi }, value: height }\n }\n return height\n }),\n emphasis: { disabled: true },\n itemStyle: {\n borderRadius: input.radius,\n color: verticalGradient(input.accent.hi, input.accent.surface),\n },\n stateAnimation: { duration: input.stateDurationMs, easing: CHART_EASING },\n type: 'bar',\n },\n ],\n tooltip: chartTooltip(pointFormatter(input.values)),\n xAxis: {\n data: input.values.map((_value, index) => String(index)),\n show: false,\n type: 'category',\n },\n yAxis: { max: BAR_AXIS_MAX, min: BAR_AXIS_MIN, show: false, type: 'value' },\n }\n}\n\nconst sparkOption = (input: SparkOptionInput): EChartsOption => {\n if (input.values.length === EMPTY_LENGTH) {\n return { series: [] }\n }\n if (input.shape === 'bars') {\n return barOption(input)\n }\n return lineOption(input)\n}\n\nexport { type SparkAccent, type SparkOptionInput, type SparkShape, sparkOption }\n"],"mappings":";;;;AAoBA,MAAM,aAAa;AAEnB,MAAM,cAAc;AAEpB,MAAM,WAAW;AAEjB,MAAM,eAAe;AAErB,MAAM,oBAAoB;AAE1B,MAAM,SAAS;AAEf,MAAM,oBAAsC,CAAC,QAAQ,MAAM;AAE3D,MAAM,YAAY;CAAE,QAAQ;CAAG,MAAM;CAAG,OAAO;CAAG,KAAK;AAAE;AAEzD,MAAM,WAAW;CAAE,QAAQ;CAAG,MAAM;CAAG,OAAO;CAAG,KAAK;AAAE;AAExD,MAAM,mBAAmB;AAEzB,MAAM,mBAAmB;AAEzB,MAAM,eAAe;AAErB,MAAM,eAAe;AAErB,MAAM,eAAe;AAErB,MAAM,aAAa;AAEnB,MAAM,eAAe,WAAsC,OAAO,SAAS;AAE3E,MAAM,WAAW;AAEjB,MAAM,cAAc;AAEpB,MAAM,kBACH,YACA,WAAmE;CAClE,MAAM,QAAQ,OAAO;CAErB,IAAI,CAAC,SAAS,OAAO,MAAM,cAAc,UACvC,OAAO,OAAO,QAAQ;CAExB,OAAO,OAAO,OAAO,MAAM,cAAc,QAAQ;AACnD;AAEF,MAAM,UAAU,WAA4D;CAC1E,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAC9B,MAAM,MAAM,KAAK,IAAI,GAAG,MAAM;CAE9B,IAAI,QAAQ,KACV,OAAO;EAAE,KAAK,MAAM;EAAU;CAAI;CAEpC,OAAO;EAAE;EAAK;CAAI;AACpB;AAEA,MAAM,cAAc,UAA2C;CAC7D,MAAM,OAAO,YAAY,MAAM,MAAM;CACrC,MAAM,QAAQ,OAAO,MAAM,MAAM;CACjC,MAAM,YAAY,MAAM,OAAO,SAAS,MAAM;CAE9C,OAAO;EACL,GAAG,eAAe,MAAM,UAAU;EAClC,MAAM;EACN,QAAQ,CACN;GACE,WAAW;IACT,OAAO,iBAAiB,MAAM,OAAO,IAAI,WAAW;IACpD,SAAS;GACX;GACA,MAAM,MAAM,OAAO,KAAK,OAAO,UAAU,CAAC,OAAO,KAAK,CAAC;GACvD,UAAU,EAAE,UAAU,KAAK;GAC3B,WAAW;IACT,KAAK;IACL,OAAO,MAAM,OAAO;IACpB,MAAM;IACN,OAAO;GACT;GACA,WAAW;IACT,WAAW;IACX,MAAM,CAAC;KAAE,OAAO,CAAC,MAAM,SAAS;KAAG,MAAM;IAAG,CAAC;IAC7C,WAAW,EAAE,OAAO,MAAM,OAAO,GAAG;IACpC,OAAO,EAAE,MAAM,MAAM;IACrB,QAAQ;IACR,YAAY;GACd;GACA,YAAY;GACZ,gBAAgB;IAAE,UAAU,MAAM;IAAiB,QAAQ;GAAa;GACxE,YAAY;GACZ,MAAM;EACR,CACF;EACA,SAAS,aAAa,eAAe,MAAM,MAAM,GAAG,MAAM;EAC1D,OAAO;GAAE,aAAa;GAAmB,KAAK;GAAM,KAAK;GAAG,MAAM;GAAO,MAAM;EAAQ;EACvF,OAAO;GAAE,KAAK,MAAM;GAAK,KAAK,MAAM;GAAK,MAAM;GAAO,MAAM;EAAQ;CACtE;AACF;AAEA,MAAM,kBAAkB,OAAe,UAAgD;CACrF,MAAM,SAAS,QAAQ,MAAM,QAAQ,MAAM,MAAM,MAAM;CAEvD,OAAO,KAAK,IAAI,OAAO,gBAAgB;AACzC;AAEA,MAAM,aAAa,UAA2C;CAC5D,MAAM,OAAO,YAAY,MAAM,MAAM;CACrC,MAAM,QAAQ,OAAO,MAAM,MAAM;CAEjC,OAAO;EACL,GAAG,eAAe,MAAM,UAAU;EAClC,MAAM;EACN,QAAQ,CACN;GACE,gBAAgB,aAAa,UAAU;GACvC,gBAAgB;GAChB,MAAM,MAAM,OAAO,KAAK,OAAO,UAAU;IACvC,MAAM,SAAS,eAAe,OAAO,KAAK;IAE1C,IAAI,UAAU,MACZ,OAAO;KAAE,WAAW,EAAE,OAAO,MAAM,OAAO,GAAG;KAAG,OAAO;IAAO;IAEhE,OAAO;GACT,CAAC;GACD,UAAU,EAAE,UAAU,KAAK;GAC3B,WAAW;IACT,cAAc,MAAM;IACpB,OAAO,iBAAiB,MAAM,OAAO,IAAI,MAAM,OAAO,OAAO;GAC/D;GACA,gBAAgB;IAAE,UAAU,MAAM;IAAiB,QAAQ;GAAa;GACxE,MAAM;EACR,CACF;EACA,SAAS,aAAa,eAAe,MAAM,MAAM,CAAC;EAClD,OAAO;GACL,MAAM,MAAM,OAAO,KAAK,QAAQ,UAAU,OAAO,KAAK,CAAC;GACvD,MAAM;GACN,MAAM;EACR;EACA,OAAO;GAAE,KAAK;GAAc,KAAK;GAAc,MAAM;GAAO,MAAM;EAAQ;CAC5E;AACF;AAEA,MAAM,eAAe,UAA2C;CAC9D,IAAI,MAAM,OAAO,WAAW,cAC1B,OAAO,EAAE,QAAQ,CAAC,EAAE;CAEtB,IAAI,MAAM,UAAU,QAClB,OAAO,UAAU,KAAK;CAExB,OAAO,WAAW,KAAK;AACzB"}
|
package/dist/charts/tooltip.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
//#region src/charts/tooltip.ts
|
|
2
|
-
const TOOLTIP_CLASS = ["tf-edge-sweep tf-edge-plain rounded-tf-inline bg-tf-glass px-2 py-1", "font-tf-body text-tf-caption-sm text-tf-fg shadow-tf-float backdrop-blur-tf-glass"].join(" ");
|
|
3
|
-
const NO_CHROME_CSS = "box-shadow: none; pointer-events: none;";
|
|
4
|
-
const NO_CONTENT = "";
|
|
5
|
-
const SNAP_TO_CURSOR = 0;
|
|
6
|
-
const EMPTY_LENGTH = 0;
|
|
7
|
-
const DEFAULT_AXIS_POINTER = { type: "none" };
|
|
8
|
-
const appendToBody = () => document.body;
|
|
9
|
-
const formatCallbackValue = (value) => {
|
|
10
|
-
if (typeof value === "string" || typeof value === "number") return String(value);
|
|
11
|
-
return NO_CONTENT;
|
|
12
|
-
};
|
|
13
|
-
const asParams = (raw) => {
|
|
14
|
-
if (Array.isArray(raw)) return raw;
|
|
15
|
-
return [raw];
|
|
16
|
-
};
|
|
17
|
-
const chartTooltip = (formatter, trigger = "item", axisPointer = DEFAULT_AXIS_POINTER) => {
|
|
18
|
-
const base = {
|
|
19
|
-
appendTo: appendToBody,
|
|
20
|
-
backgroundColor: "transparent",
|
|
21
|
-
borderWidth: 0,
|
|
22
|
-
extraCssText: NO_CHROME_CSS,
|
|
23
|
-
formatter: (raw) => {
|
|
24
|
-
const params = asParams(raw);
|
|
25
|
-
if (params.length === EMPTY_LENGTH) return NO_CONTENT;
|
|
26
|
-
return `<div class="${TOOLTIP_CLASS}">${formatter(params)}</div>`;
|
|
27
|
-
},
|
|
28
|
-
padding: 0,
|
|
29
|
-
transitionDuration: SNAP_TO_CURSOR,
|
|
30
|
-
trigger
|
|
31
|
-
};
|
|
32
|
-
if (trigger === "axis") return {
|
|
33
|
-
...base,
|
|
34
|
-
axisPointer
|
|
35
|
-
};
|
|
36
|
-
return base;
|
|
37
|
-
};
|
|
38
|
-
//#endregion
|
|
39
|
-
export { chartTooltip, formatCallbackValue };
|
|
40
|
-
|
|
41
|
-
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":[],"sources":["../../src/charts/tooltip.ts"],"sourcesContent":["import type {\n DefaultLabelFormatterCallbackParams,\n TooltipComponentFormatterCallbackParams,\n TooltipComponentOption,\n} from 'echarts'\n\nconst TOOLTIP_CLASS = [\n 'tf-edge-sweep tf-edge-plain rounded-tf-inline bg-tf-glass px-2 py-1',\n 'font-tf-body text-tf-caption-sm text-tf-fg shadow-tf-float backdrop-blur-tf-glass',\n].join(' ')\n\nconst NO_CHROME_CSS = 'box-shadow: none; pointer-events: none;'\n\nconst NO_CONTENT = ''\n\nconst SNAP_TO_CURSOR = 0\n\nconst EMPTY_LENGTH = 0\n\ntype ChartTooltipTrigger = 'item' | 'axis'\n\ntype ChartTooltipAxisPointer = NonNullable<TooltipComponentOption['axisPointer']>\n\nconst DEFAULT_AXIS_POINTER: ChartTooltipAxisPointer = { type: 'none' }\n\nconst appendToBody = (): HTMLElement => document.body\n\nconst formatCallbackValue = (value: unknown): string => {\n if (typeof value === 'string' || typeof value === 'number') {\n return String(value)\n }\n return NO_CONTENT\n}\n\nconst asParams = (\n raw: TooltipComponentFormatterCallbackParams,\n): readonly DefaultLabelFormatterCallbackParams[] => {\n if (Array.isArray(raw)) {\n return raw\n }\n return [raw]\n}\n\nconst chartTooltip = (\n formatter: (params: readonly DefaultLabelFormatterCallbackParams[]) => string,\n trigger: ChartTooltipTrigger = 'item',\n axisPointer: ChartTooltipAxisPointer = DEFAULT_AXIS_POINTER,\n): TooltipComponentOption => {\n const base: TooltipComponentOption = {\n appendTo: appendToBody,\n backgroundColor: 'transparent',\n borderWidth: 0,\n extraCssText: NO_CHROME_CSS,\n formatter: (raw: TooltipComponentFormatterCallbackParams) => {\n const params = asParams(raw)\n\n if (params.length === EMPTY_LENGTH) {\n return NO_CONTENT\n }\n return `<div class=\"${TOOLTIP_CLASS}\">${formatter(params)}</div>`\n },\n padding: 0,\n transitionDuration: SNAP_TO_CURSOR,\n trigger,\n }\n\n if (trigger === 'axis') {\n return { ...base, axisPointer }\n }\n return base\n}\n\nexport { chartTooltip, formatCallbackValue }\n"],"mappings":";AAMA,MAAM,gBAAgB,CACpB,uEACA,mFACF,CAAC,CAAC,KAAK,GAAG;AAEV,MAAM,gBAAgB;AAEtB,MAAM,aAAa;AAEnB,MAAM,iBAAiB;AAEvB,MAAM,eAAe;AAMrB,MAAM,uBAAgD,EAAE,MAAM,OAAO;AAErE,MAAM,qBAAkC,SAAS;AAEjD,MAAM,uBAAuB,UAA2B;CACtD,IAAI,OAAO,UAAU,YAAY,OAAO,UAAU,UAChD,OAAO,OAAO,KAAK;CAErB,OAAO;AACT;AAEA,MAAM,YACJ,QACmD;CACnD,IAAI,MAAM,QAAQ,GAAG,GACnB,OAAO;CAET,OAAO,CAAC,GAAG;AACb;AAEA,MAAM,gBACJ,WACA,UAA+B,QAC/B,cAAuC,yBACZ;CAC3B,MAAM,OAA+B;EACnC,UAAU;EACV,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,YAAY,QAAiD;GAC3D,MAAM,SAAS,SAAS,GAAG;GAE3B,IAAI,OAAO,WAAW,cACpB,OAAO;GAET,OAAO,eAAe,cAAc,IAAI,UAAU,MAAM,EAAE;EAC5D;EACA,SAAS;EACT,oBAAoB;EACpB;CACF;CAEA,IAAI,YAAY,QACd,OAAO;EAAE,GAAG;EAAM;CAAY;CAEhC,OAAO;AACT"}
|
package/dist/czech.d.ts
DELETED
package/dist/czech.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
//#region src/czech.ts
|
|
2
|
-
const SINGLE = 1;
|
|
3
|
-
const FEW_FIRST = 2;
|
|
4
|
-
const FEW_LAST = 4;
|
|
5
|
-
const results = (count, written) => {
|
|
6
|
-
if (count === SINGLE) return "1 výsledek";
|
|
7
|
-
if (count >= FEW_FIRST && count <= FEW_LAST) return `${written} výsledky`;
|
|
8
|
-
return `${written} výsledků`;
|
|
9
|
-
};
|
|
10
|
-
const czech = {
|
|
11
|
-
locale: "cs-CZ",
|
|
12
|
-
words: {
|
|
13
|
-
datePicker: {
|
|
14
|
-
calendar: "Kalendář",
|
|
15
|
-
choose: (day) => `Vybrat ${day}`,
|
|
16
|
-
chosen: (day) => `Vybráno, ${day}`,
|
|
17
|
-
clear: "Smazat data",
|
|
18
|
-
close: "Zavřít kalendář",
|
|
19
|
-
nextDecade: "Další dekáda",
|
|
20
|
-
nextMonth: "Další měsíc",
|
|
21
|
-
nextYear: "Další rok",
|
|
22
|
-
open: "Otevřít kalendář",
|
|
23
|
-
patternDay: "dd",
|
|
24
|
-
patternMonth: "mm",
|
|
25
|
-
patternYear: "rrrr",
|
|
26
|
-
pickMonth: "Vyberte měsíc",
|
|
27
|
-
pickYear: "Vyberte rok",
|
|
28
|
-
preset: (span) => `Vybrat ${span}`,
|
|
29
|
-
previousDecade: "Předchozí dekáda",
|
|
30
|
-
previousMonth: "Předchozí měsíc",
|
|
31
|
-
previousYear: "Předchozí rok",
|
|
32
|
-
rangeFrom: (day) => `Začít rozsah na ${day}`,
|
|
33
|
-
rangeTo: (day) => `Ukončit rozsah na ${day}`,
|
|
34
|
-
showDays: "Zobrazit dny",
|
|
35
|
-
showMonths: "Zobrazit měsíce",
|
|
36
|
-
showYears: "Zobrazit roky",
|
|
37
|
-
unavailable: (day) => `Nedostupné, ${day}`,
|
|
38
|
-
week: "Týd.",
|
|
39
|
-
weekNumber: (week) => `${week}. týden`
|
|
40
|
-
},
|
|
41
|
-
dialog: { close: "Zavřít" },
|
|
42
|
-
listbox: { empty: "Není z čeho vybírat" },
|
|
43
|
-
queue: { label: "Fronta" },
|
|
44
|
-
search: {
|
|
45
|
-
dismiss: "Esc zavře",
|
|
46
|
-
nothing: "Tomu nic neodpovídá",
|
|
47
|
-
results
|
|
48
|
-
},
|
|
49
|
-
select: { clear: "Zrušit výběr" },
|
|
50
|
-
sidebar: {
|
|
51
|
-
collapse: "Sbalit panel",
|
|
52
|
-
expand: "Rozbalit panel",
|
|
53
|
-
openMenu: "Otevřít menu"
|
|
54
|
-
},
|
|
55
|
-
stat: {
|
|
56
|
-
change: "Změna",
|
|
57
|
-
fell: "dolů",
|
|
58
|
-
rose: "nahoru"
|
|
59
|
-
},
|
|
60
|
-
table: {
|
|
61
|
-
actions: "Akce",
|
|
62
|
-
anything: "Cokoli",
|
|
63
|
-
clear: "Zrušit",
|
|
64
|
-
clearAll: "Zrušit filtry",
|
|
65
|
-
clearFilter: (column) => `Zrušit filtr na ${column}`,
|
|
66
|
-
clearSelection: "Zrušit označení",
|
|
67
|
-
done: "Hotovo",
|
|
68
|
-
emptyHint: "Až tu něco bude, uvidíte to zde.",
|
|
69
|
-
emptyTitle: "Zatím tu nic není",
|
|
70
|
-
expandRow: (row) => `Zobrazit více o řádku ${row}`,
|
|
71
|
-
filterBy: (column) => `Filtrovat ${column}`,
|
|
72
|
-
filterPick: (column) => `Vyberte z ${column}`,
|
|
73
|
-
filterRange: (column) => `Rozsah ${column}`,
|
|
74
|
-
filterSearch: (column) => `Hledat v ${column}`,
|
|
75
|
-
from: "Od",
|
|
76
|
-
nextPage: "Další stránka",
|
|
77
|
-
noRows: "Žádné řádky",
|
|
78
|
-
nothingHint: "Zrušte jednu z podmínek, nebo smažte hledání.",
|
|
79
|
-
nothingTitle: "Těmto filtrům nic neodpovídá",
|
|
80
|
-
pages: "Stránky",
|
|
81
|
-
previousPage: "Předchozí stránka",
|
|
82
|
-
rowsPerPage: "Řádků na stránku",
|
|
83
|
-
selectAll: "Označit řádky na této stránce",
|
|
84
|
-
selectRow: (row) => `Označit řádek ${row}`,
|
|
85
|
-
selected: (_count, written) => `${written} označeno`,
|
|
86
|
-
shown: (from, to, total) => `${from}–${to} z ${total}`,
|
|
87
|
-
sortAscending: (column) => `Řadit ${column} od nejmenšího`,
|
|
88
|
-
sortBy: (column) => `Řadit podle ${column}`,
|
|
89
|
-
sortClear: (column) => `Přestat řadit podle ${column}`,
|
|
90
|
-
sortDescending: (column) => `Řadit ${column} od největšího`,
|
|
91
|
-
to: "Do"
|
|
92
|
-
},
|
|
93
|
-
tail: { empty: "Žádné řádky logu" },
|
|
94
|
-
userMenu: { account: "účet" }
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
//#endregion
|
|
98
|
-
export { czech };
|
|
99
|
-
|
|
100
|
-
//# sourceMappingURL=czech.js.map
|
package/dist/czech.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"czech.js","names":[],"sources":["../src/czech.ts"],"sourcesContent":["import type { Language } from './words'\n\nconst SINGLE = 1\n\nconst FEW_FIRST = 2\n\nconst FEW_LAST = 4\n\nconst results = (count: number, written: string): string => {\n if (count === SINGLE) {\n return '1 výsledek'\n }\n if (count >= FEW_FIRST && count <= FEW_LAST) {\n return `${written} výsledky`\n }\n return `${written} výsledků`\n}\n\nconst czech: Language = {\n locale: 'cs-CZ',\n\n words: {\n datePicker: {\n calendar: 'Kalendář',\n choose: (day) => `Vybrat ${day}`,\n chosen: (day) => `Vybráno, ${day}`,\n clear: 'Smazat data',\n close: 'Zavřít kalendář',\n nextDecade: 'Další dekáda',\n nextMonth: 'Další měsíc',\n nextYear: 'Další rok',\n open: 'Otevřít kalendář',\n patternDay: 'dd',\n patternMonth: 'mm',\n patternYear: 'rrrr',\n pickMonth: 'Vyberte měsíc',\n pickYear: 'Vyberte rok',\n preset: (span) => `Vybrat ${span}`,\n previousDecade: 'Předchozí dekáda',\n previousMonth: 'Předchozí měsíc',\n previousYear: 'Předchozí rok',\n rangeFrom: (day) => `Začít rozsah na ${day}`,\n rangeTo: (day) => `Ukončit rozsah na ${day}`,\n showDays: 'Zobrazit dny',\n showMonths: 'Zobrazit měsíce',\n showYears: 'Zobrazit roky',\n unavailable: (day) => `Nedostupné, ${day}`,\n week: 'Týd.',\n weekNumber: (week) => `${week}. týden`,\n },\n\n dialog: {\n close: 'Zavřít',\n },\n\n listbox: {\n empty: 'Není z čeho vybírat',\n },\n\n queue: {\n label: 'Fronta',\n },\n\n search: {\n dismiss: 'Esc zavře',\n nothing: 'Tomu nic neodpovídá',\n results,\n },\n\n select: {\n clear: 'Zrušit výběr',\n },\n\n sidebar: {\n collapse: 'Sbalit panel',\n expand: 'Rozbalit panel',\n openMenu: 'Otevřít menu',\n },\n\n stat: {\n change: 'Změna',\n fell: 'dolů',\n rose: 'nahoru',\n },\n\n table: {\n actions: 'Akce',\n anything: 'Cokoli',\n clear: 'Zrušit',\n clearAll: 'Zrušit filtry',\n clearFilter: (column) => `Zrušit filtr na ${column}`,\n clearSelection: 'Zrušit označení',\n done: 'Hotovo',\n emptyHint: 'Až tu něco bude, uvidíte to zde.',\n emptyTitle: 'Zatím tu nic není',\n expandRow: (row) => `Zobrazit více o řádku ${row}`,\n filterBy: (column) => `Filtrovat ${column}`,\n filterPick: (column) => `Vyberte z ${column}`,\n filterRange: (column) => `Rozsah ${column}`,\n filterSearch: (column) => `Hledat v ${column}`,\n from: 'Od',\n nextPage: 'Další stránka',\n noRows: 'Žádné řádky',\n nothingHint: 'Zrušte jednu z podmínek, nebo smažte hledání.',\n nothingTitle: 'Těmto filtrům nic neodpovídá',\n pages: 'Stránky',\n previousPage: 'Předchozí stránka',\n rowsPerPage: 'Řádků na stránku',\n selectAll: 'Označit řádky na této stránce',\n selectRow: (row) => `Označit řádek ${row}`,\n selected: (_count, written) => `${written} označeno`,\n shown: (from, to, total) => `${from}–${to} z ${total}`,\n sortAscending: (column) => `Řadit ${column} od nejmenšího`,\n sortBy: (column) => `Řadit podle ${column}`,\n sortClear: (column) => `Přestat řadit podle ${column}`,\n sortDescending: (column) => `Řadit ${column} od největšího`,\n to: 'Do',\n },\n\n tail: {\n empty: 'Žádné řádky logu',\n },\n\n userMenu: {\n account: 'účet',\n },\n },\n}\n\nexport { czech }\n"],"mappings":";AAEA,MAAM,SAAS;AAEf,MAAM,YAAY;AAElB,MAAM,WAAW;AAEjB,MAAM,WAAW,OAAe,YAA4B;CAC1D,IAAI,UAAU,QACZ,OAAO;CAET,IAAI,SAAS,aAAa,SAAS,UACjC,OAAO,GAAG,QAAQ;CAEpB,OAAO,GAAG,QAAQ;AACpB;AAEA,MAAM,QAAkB;CACtB,QAAQ;CAER,OAAO;EACL,YAAY;GACV,UAAU;GACV,SAAS,QAAQ,UAAU;GAC3B,SAAS,QAAQ,YAAY;GAC7B,OAAO;GACP,OAAO;GACP,YAAY;GACZ,WAAW;GACX,UAAU;GACV,MAAM;GACN,YAAY;GACZ,cAAc;GACd,aAAa;GACb,WAAW;GACX,UAAU;GACV,SAAS,SAAS,UAAU;GAC5B,gBAAgB;GAChB,eAAe;GACf,cAAc;GACd,YAAY,QAAQ,mBAAmB;GACvC,UAAU,QAAQ,qBAAqB;GACvC,UAAU;GACV,YAAY;GACZ,WAAW;GACX,cAAc,QAAQ,eAAe;GACrC,MAAM;GACN,aAAa,SAAS,GAAG,KAAK;EAChC;EAEA,QAAQ,EACN,OAAO,SACT;EAEA,SAAS,EACP,OAAO,sBACT;EAEA,OAAO,EACL,OAAO,SACT;EAEA,QAAQ;GACN,SAAS;GACT,SAAS;GACT;EACF;EAEA,QAAQ,EACN,OAAO,eACT;EAEA,SAAS;GACP,UAAU;GACV,QAAQ;GACR,UAAU;EACZ;EAEA,MAAM;GACJ,QAAQ;GACR,MAAM;GACN,MAAM;EACR;EAEA,OAAO;GACL,SAAS;GACT,UAAU;GACV,OAAO;GACP,UAAU;GACV,cAAc,WAAW,mBAAmB;GAC5C,gBAAgB;GAChB,MAAM;GACN,WAAW;GACX,YAAY;GACZ,YAAY,QAAQ,yBAAyB;GAC7C,WAAW,WAAW,aAAa;GACnC,aAAa,WAAW,aAAa;GACrC,cAAc,WAAW,UAAU;GACnC,eAAe,WAAW,YAAY;GACtC,MAAM;GACN,UAAU;GACV,QAAQ;GACR,aAAa;GACb,cAAc;GACd,OAAO;GACP,cAAc;GACd,aAAa;GACb,WAAW;GACX,YAAY,QAAQ,iBAAiB;GACrC,WAAW,QAAQ,YAAY,GAAG,QAAQ;GAC1C,QAAQ,MAAM,IAAI,UAAU,GAAG,KAAK,GAAG,GAAG,KAAK;GAC/C,gBAAgB,WAAW,SAAS,OAAO;GAC3C,SAAS,WAAW,eAAe;GACnC,YAAY,WAAW,uBAAuB;GAC9C,iBAAiB,WAAW,SAAS,OAAO;GAC5C,IAAI;EACN;EAEA,MAAM,EACJ,OAAO,mBACT;EAEA,UAAU,EACR,SAAS,OACX;CACF;AACF"}
|
package/dist/tally.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//#region src/tally.d.ts
|
|
2
|
-
declare const WHOLE = 1;
|
|
3
|
-
interface Tally {
|
|
4
|
-
counts: boolean;
|
|
5
|
-
group: string;
|
|
6
|
-
head: string;
|
|
7
|
-
places: number;
|
|
8
|
-
point: string;
|
|
9
|
-
tail: string;
|
|
10
|
-
target: number;
|
|
11
|
-
whole: string;
|
|
12
|
-
}
|
|
13
|
-
declare const tallyOf: (value: string) => Tally;
|
|
14
|
-
declare const tallyAt: (tally: Tally, part: number) => string;
|
|
15
|
-
//#endregion
|
|
16
|
-
export { type Tally, WHOLE, tallyAt, tallyOf };
|
|
17
|
-
//# sourceMappingURL=tally.d.ts.map
|
package/dist/tally.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
//#region src/tally.ts
|
|
2
|
-
const RUN = /\d(?:[\S\s]*\d)?/u;
|
|
3
|
-
const MARKS = /\D/gu;
|
|
4
|
-
const LAST = -1;
|
|
5
|
-
const ONCE = 1;
|
|
6
|
-
const ONE = 1;
|
|
7
|
-
const NONE = 0;
|
|
8
|
-
const WHOLE = 1;
|
|
9
|
-
const GROUP_SIZE = 3;
|
|
10
|
-
const DECIMAL_MAX = 2;
|
|
11
|
-
const marksIn = (run) => run.match(MARKS) ?? [];
|
|
12
|
-
const pointOf = (run) => {
|
|
13
|
-
const marks = marksIn(run);
|
|
14
|
-
const last = marks.at(LAST) ?? "";
|
|
15
|
-
if (last === "" || marks.filter((mark) => mark === last).length > ONCE) return "";
|
|
16
|
-
if (run.length - run.lastIndexOf(last) - ONE > DECIMAL_MAX) return "";
|
|
17
|
-
return last;
|
|
18
|
-
};
|
|
19
|
-
const groupOf = (run, point) => marksIn(run).filter((mark) => mark !== point).at(LAST) ?? "";
|
|
20
|
-
const NOT_DIGITS = /[^\d]/gu;
|
|
21
|
-
const targetOf = (run, point) => {
|
|
22
|
-
if (point === "") return Number(run.replace(NOT_DIGITS, ""));
|
|
23
|
-
const [body = "", fraction = ""] = run.split(point);
|
|
24
|
-
return Number(`${body.replace(NOT_DIGITS, "")}.${fraction.replace(NOT_DIGITS, "")}`);
|
|
25
|
-
};
|
|
26
|
-
const placesOf = (run, point) => {
|
|
27
|
-
if (point === "") return NONE;
|
|
28
|
-
return run.length - run.lastIndexOf(point) - ONE;
|
|
29
|
-
};
|
|
30
|
-
const RESTS = {
|
|
31
|
-
counts: false,
|
|
32
|
-
group: "",
|
|
33
|
-
head: "",
|
|
34
|
-
places: NONE,
|
|
35
|
-
point: "",
|
|
36
|
-
tail: "",
|
|
37
|
-
target: NONE,
|
|
38
|
-
whole: ""
|
|
39
|
-
};
|
|
40
|
-
const tallyOf = (value) => {
|
|
41
|
-
const found = RUN.exec(value);
|
|
42
|
-
if (!found) return {
|
|
43
|
-
...RESTS,
|
|
44
|
-
whole: value
|
|
45
|
-
};
|
|
46
|
-
const [run] = found;
|
|
47
|
-
const point = pointOf(run);
|
|
48
|
-
return {
|
|
49
|
-
counts: true,
|
|
50
|
-
group: groupOf(run, point),
|
|
51
|
-
head: value.slice(NONE, found.index),
|
|
52
|
-
places: placesOf(run, point),
|
|
53
|
-
point,
|
|
54
|
-
tail: value.slice(found.index + run.length),
|
|
55
|
-
target: targetOf(run, point),
|
|
56
|
-
whole: value
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
const grouped = (body, group) => {
|
|
60
|
-
if (group === "") return body;
|
|
61
|
-
const parts = [];
|
|
62
|
-
for (let edge = body.length; edge > NONE; edge -= GROUP_SIZE) parts.unshift(body.slice(Math.max(edge - GROUP_SIZE, NONE), edge));
|
|
63
|
-
return parts.join(group);
|
|
64
|
-
};
|
|
65
|
-
const tallyAt = (tally, part) => {
|
|
66
|
-
if (!tally.counts || part >= 1) return tally.whole;
|
|
67
|
-
const [body = "", fraction = ""] = (tally.target * part).toFixed(tally.places).split(".");
|
|
68
|
-
const shown = grouped(body, tally.group);
|
|
69
|
-
if (tally.point === "") return `${tally.head}${shown}${tally.tail}`;
|
|
70
|
-
return `${tally.head}${shown}${tally.point}${fraction}${tally.tail}`;
|
|
71
|
-
};
|
|
72
|
-
//#endregion
|
|
73
|
-
export { WHOLE, tallyAt, tallyOf };
|
|
74
|
-
|
|
75
|
-
//# sourceMappingURL=tally.js.map
|
package/dist/tally.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tally.js","names":[],"sources":["../src/tally.ts"],"sourcesContent":["const RUN = /\\d(?:[\\S\\s]*\\d)?/u\n\nconst MARKS = /\\D/gu\n\nconst LAST = -1\nconst ONCE = 1\nconst ONE = 1\nconst NONE = 0\nconst WHOLE = 1\nconst GROUP_SIZE = 3\nconst DECIMAL_MAX = 2\n\ninterface Tally {\n counts: boolean\n group: string\n head: string\n places: number\n point: string\n tail: string\n target: number\n whole: string\n}\n\nconst marksIn = (run: string): string[] => run.match(MARKS) ?? []\n\nconst pointOf = (run: string): string => {\n const marks = marksIn(run)\n const last = marks.at(LAST) ?? ''\n\n if (last === '' || marks.filter((mark) => mark === last).length > ONCE) {\n return ''\n }\n if (run.length - run.lastIndexOf(last) - ONE > DECIMAL_MAX) {\n return ''\n }\n return last\n}\n\nconst groupOf = (run: string, point: string): string =>\n marksIn(run)\n .filter((mark) => mark !== point)\n .at(LAST) ?? ''\n\nconst NOT_DIGITS = /[^\\d]/gu\n\nconst targetOf = (run: string, point: string): number => {\n if (point === '') {\n return Number(run.replace(NOT_DIGITS, ''))\n }\n const [body = '', fraction = ''] = run.split(point)\n\n return Number(`${body.replace(NOT_DIGITS, '')}.${fraction.replace(NOT_DIGITS, '')}`)\n}\n\nconst placesOf = (run: string, point: string): number => {\n if (point === '') {\n return NONE\n }\n return run.length - run.lastIndexOf(point) - ONE\n}\n\nconst RESTS: Tally = {\n counts: false,\n group: '',\n head: '',\n places: NONE,\n point: '',\n tail: '',\n target: NONE,\n whole: '',\n}\n\nconst tallyOf = (value: string): Tally => {\n const found = RUN.exec(value)\n\n if (!found) {\n return { ...RESTS, whole: value }\n }\n const [run] = found\n const point = pointOf(run)\n\n return {\n counts: true,\n group: groupOf(run, point),\n head: value.slice(NONE, found.index),\n places: placesOf(run, point),\n point,\n tail: value.slice(found.index + run.length),\n target: targetOf(run, point),\n whole: value,\n }\n}\n\nconst grouped = (body: string, group: string): string => {\n if (group === '') {\n return body\n }\n const parts: string[] = []\n\n for (let edge = body.length; edge > NONE; edge -= GROUP_SIZE) {\n parts.unshift(body.slice(Math.max(edge - GROUP_SIZE, NONE), edge))\n }\n return parts.join(group)\n}\n\nconst tallyAt = (tally: Tally, part: number): string => {\n if (!tally.counts || part >= WHOLE) {\n return tally.whole\n }\n const [body = '', fraction = ''] = (tally.target * part).toFixed(tally.places).split('.')\n const shown = grouped(body, tally.group)\n\n if (tally.point === '') {\n return `${tally.head}${shown}${tally.tail}`\n }\n return `${tally.head}${shown}${tally.point}${fraction}${tally.tail}`\n}\n\nexport { type Tally, WHOLE, tallyAt, tallyOf }\n"],"mappings":";AAAA,MAAM,MAAM;AAEZ,MAAM,QAAQ;AAEd,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,QAAQ;AACd,MAAM,aAAa;AACnB,MAAM,cAAc;AAapB,MAAM,WAAW,QAA0B,IAAI,MAAM,KAAK,KAAK,CAAC;AAEhE,MAAM,WAAW,QAAwB;CACvC,MAAM,QAAQ,QAAQ,GAAG;CACzB,MAAM,OAAO,MAAM,GAAG,IAAI,KAAK;CAE/B,IAAI,SAAS,MAAM,MAAM,QAAQ,SAAS,SAAS,IAAI,CAAC,CAAC,SAAS,MAChE,OAAO;CAET,IAAI,IAAI,SAAS,IAAI,YAAY,IAAI,IAAI,MAAM,aAC7C,OAAO;CAET,OAAO;AACT;AAEA,MAAM,WAAW,KAAa,UAC5B,QAAQ,GAAG,CAAC,CACT,QAAQ,SAAS,SAAS,KAAK,CAAC,CAChC,GAAG,IAAI,KAAK;AAEjB,MAAM,aAAa;AAEnB,MAAM,YAAY,KAAa,UAA0B;CACvD,IAAI,UAAU,IACZ,OAAO,OAAO,IAAI,QAAQ,YAAY,EAAE,CAAC;CAE3C,MAAM,CAAC,OAAO,IAAI,WAAW,MAAM,IAAI,MAAM,KAAK;CAElD,OAAO,OAAO,GAAG,KAAK,QAAQ,YAAY,EAAE,EAAE,GAAG,SAAS,QAAQ,YAAY,EAAE,GAAG;AACrF;AAEA,MAAM,YAAY,KAAa,UAA0B;CACvD,IAAI,UAAU,IACZ,OAAO;CAET,OAAO,IAAI,SAAS,IAAI,YAAY,KAAK,IAAI;AAC/C;AAEA,MAAM,QAAe;CACnB,QAAQ;CACR,OAAO;CACP,MAAM;CACN,QAAQ;CACR,OAAO;CACP,MAAM;CACN,QAAQ;CACR,OAAO;AACT;AAEA,MAAM,WAAW,UAAyB;CACxC,MAAM,QAAQ,IAAI,KAAK,KAAK;CAE5B,IAAI,CAAC,OACH,OAAO;EAAE,GAAG;EAAO,OAAO;CAAM;CAElC,MAAM,CAAC,OAAO;CACd,MAAM,QAAQ,QAAQ,GAAG;CAEzB,OAAO;EACL,QAAQ;EACR,OAAO,QAAQ,KAAK,KAAK;EACzB,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;EACnC,QAAQ,SAAS,KAAK,KAAK;EAC3B;EACA,MAAM,MAAM,MAAM,MAAM,QAAQ,IAAI,MAAM;EAC1C,QAAQ,SAAS,KAAK,KAAK;EAC3B,OAAO;CACT;AACF;AAEA,MAAM,WAAW,MAAc,UAA0B;CACvD,IAAI,UAAU,IACZ,OAAO;CAET,MAAM,QAAkB,CAAC;CAEzB,KAAK,IAAI,OAAO,KAAK,QAAQ,OAAO,MAAM,QAAQ,YAChD,MAAM,QAAQ,KAAK,MAAM,KAAK,IAAI,OAAO,YAAY,IAAI,GAAG,IAAI,CAAC;CAEnE,OAAO,MAAM,KAAK,KAAK;AACzB;AAEA,MAAM,WAAW,OAAc,SAAyB;CACtD,IAAI,CAAC,MAAM,UAAU,QAAA,GACnB,OAAO,MAAM;CAEf,MAAM,CAAC,OAAO,IAAI,WAAW,OAAO,MAAM,SAAS,KAAA,CAAM,QAAQ,MAAM,MAAM,CAAC,CAAC,MAAM,GAAG;CACxF,MAAM,QAAQ,QAAQ,MAAM,MAAM,KAAK;CAEvC,IAAI,MAAM,UAAU,IAClB,OAAO,GAAG,MAAM,OAAO,QAAQ,MAAM;CAEvC,OAAO,GAAG,MAAM,OAAO,QAAQ,MAAM,QAAQ,WAAW,MAAM;AAChE"}
|
package/dist/words.d.ts
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
//#region src/words.d.ts
|
|
2
|
-
interface TableWords {
|
|
3
|
-
actions: string;
|
|
4
|
-
anything: string;
|
|
5
|
-
clear: string;
|
|
6
|
-
clearAll: string;
|
|
7
|
-
clearFilter: (column: string) => string;
|
|
8
|
-
clearSelection: string;
|
|
9
|
-
done: string;
|
|
10
|
-
emptyHint: string;
|
|
11
|
-
emptyTitle: string;
|
|
12
|
-
expandRow: (row: string) => string;
|
|
13
|
-
filterBy: (column: string) => string;
|
|
14
|
-
filterPick: (column: string) => string;
|
|
15
|
-
filterRange: (column: string) => string;
|
|
16
|
-
filterSearch: (column: string) => string;
|
|
17
|
-
from: string;
|
|
18
|
-
nextPage: string;
|
|
19
|
-
noRows: string;
|
|
20
|
-
pages: string;
|
|
21
|
-
nothingHint: string;
|
|
22
|
-
nothingTitle: string;
|
|
23
|
-
previousPage: string;
|
|
24
|
-
rowsPerPage: string;
|
|
25
|
-
selectAll: string;
|
|
26
|
-
selectRow: (row: string) => string;
|
|
27
|
-
selected: (count: number, written: string) => string;
|
|
28
|
-
shown: (from: string, to: string, total: string) => string;
|
|
29
|
-
sortAscending: (column: string) => string;
|
|
30
|
-
sortBy: (column: string) => string;
|
|
31
|
-
sortClear: (column: string) => string;
|
|
32
|
-
sortDescending: (column: string) => string;
|
|
33
|
-
to: string;
|
|
34
|
-
}
|
|
35
|
-
interface DatePickerWords {
|
|
36
|
-
calendar: string;
|
|
37
|
-
choose: (day: string) => string;
|
|
38
|
-
chosen: (day: string) => string;
|
|
39
|
-
clear: string;
|
|
40
|
-
close: string;
|
|
41
|
-
nextDecade: string;
|
|
42
|
-
nextMonth: string;
|
|
43
|
-
nextYear: string;
|
|
44
|
-
open: string;
|
|
45
|
-
patternDay: string;
|
|
46
|
-
patternMonth: string;
|
|
47
|
-
patternYear: string;
|
|
48
|
-
pickMonth: string;
|
|
49
|
-
pickYear: string;
|
|
50
|
-
preset: (span: string) => string;
|
|
51
|
-
previousDecade: string;
|
|
52
|
-
previousMonth: string;
|
|
53
|
-
previousYear: string;
|
|
54
|
-
rangeFrom: (day: string) => string;
|
|
55
|
-
rangeTo: (day: string) => string;
|
|
56
|
-
showDays: string;
|
|
57
|
-
showMonths: string;
|
|
58
|
-
showYears: string;
|
|
59
|
-
unavailable: (day: string) => string;
|
|
60
|
-
week: string;
|
|
61
|
-
weekNumber: (week: string) => string;
|
|
62
|
-
}
|
|
63
|
-
interface DialogWords {
|
|
64
|
-
close: string;
|
|
65
|
-
}
|
|
66
|
-
interface SidebarWords {
|
|
67
|
-
collapse: string;
|
|
68
|
-
expand: string;
|
|
69
|
-
openMenu: string;
|
|
70
|
-
}
|
|
71
|
-
interface StatWords {
|
|
72
|
-
change: string;
|
|
73
|
-
fell: string;
|
|
74
|
-
rose: string;
|
|
75
|
-
}
|
|
76
|
-
interface SearchWords {
|
|
77
|
-
dismiss: string;
|
|
78
|
-
nothing: string;
|
|
79
|
-
results: (count: number, written: string) => string;
|
|
80
|
-
}
|
|
81
|
-
interface ListboxWords {
|
|
82
|
-
empty: string;
|
|
83
|
-
}
|
|
84
|
-
interface QueueWords {
|
|
85
|
-
label: string;
|
|
86
|
-
}
|
|
87
|
-
interface SelectWords {
|
|
88
|
-
clear: string;
|
|
89
|
-
}
|
|
90
|
-
interface TailWords {
|
|
91
|
-
empty: string;
|
|
92
|
-
}
|
|
93
|
-
interface UserMenuWords {
|
|
94
|
-
account: string;
|
|
95
|
-
}
|
|
96
|
-
interface Words {
|
|
97
|
-
datePicker: DatePickerWords;
|
|
98
|
-
dialog: DialogWords;
|
|
99
|
-
listbox: ListboxWords;
|
|
100
|
-
queue: QueueWords;
|
|
101
|
-
search: SearchWords;
|
|
102
|
-
select: SelectWords;
|
|
103
|
-
sidebar: SidebarWords;
|
|
104
|
-
stat: StatWords;
|
|
105
|
-
table: TableWords;
|
|
106
|
-
tail: TailWords;
|
|
107
|
-
userMenu: UserMenuWords;
|
|
108
|
-
}
|
|
109
|
-
interface Language {
|
|
110
|
-
locale?: string;
|
|
111
|
-
words: Words;
|
|
112
|
-
}
|
|
113
|
-
declare const english: Language;
|
|
114
|
-
//#endregion
|
|
115
|
-
export { type DatePickerWords, type DialogWords, type Language, type SearchWords, type SelectWords, type SidebarWords, type StatWords, type TableWords, type TailWords, type UserMenuWords, type Words, english };
|
|
116
|
-
//# sourceMappingURL=words.d.ts.map
|
package/dist/words.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
//#region src/words.ts
|
|
2
|
-
const SINGLE = 1;
|
|
3
|
-
const english = {
|
|
4
|
-
locale: "en-US",
|
|
5
|
-
words: {
|
|
6
|
-
datePicker: {
|
|
7
|
-
calendar: "Calendar",
|
|
8
|
-
choose: (day) => `Choose ${day}`,
|
|
9
|
-
chosen: (day) => `Chosen, ${day}`,
|
|
10
|
-
clear: "Clear the dates",
|
|
11
|
-
close: "Close the calendar",
|
|
12
|
-
nextDecade: "Next decade",
|
|
13
|
-
nextMonth: "Next month",
|
|
14
|
-
nextYear: "Next year",
|
|
15
|
-
open: "Open the calendar",
|
|
16
|
-
patternDay: "dd",
|
|
17
|
-
patternMonth: "mm",
|
|
18
|
-
patternYear: "yyyy",
|
|
19
|
-
pickMonth: "Pick a month",
|
|
20
|
-
pickYear: "Pick a year",
|
|
21
|
-
preset: (span) => `Choose ${span}`,
|
|
22
|
-
previousDecade: "Previous decade",
|
|
23
|
-
previousMonth: "Previous month",
|
|
24
|
-
previousYear: "Previous year",
|
|
25
|
-
rangeFrom: (day) => `Start the range at ${day}`,
|
|
26
|
-
rangeTo: (day) => `End the range at ${day}`,
|
|
27
|
-
showDays: "Show the days",
|
|
28
|
-
showMonths: "Show the months",
|
|
29
|
-
showYears: "Show the years",
|
|
30
|
-
unavailable: (day) => `Not available, ${day}`,
|
|
31
|
-
week: "Wk",
|
|
32
|
-
weekNumber: (week) => `Week ${week}`
|
|
33
|
-
},
|
|
34
|
-
dialog: { close: "Close" },
|
|
35
|
-
listbox: { empty: "Nothing to choose from" },
|
|
36
|
-
queue: { label: "Queue" },
|
|
37
|
-
search: {
|
|
38
|
-
dismiss: "Esc closes",
|
|
39
|
-
nothing: "Nothing matches that",
|
|
40
|
-
results: (count, written) => {
|
|
41
|
-
if (count === SINGLE) return "1 result";
|
|
42
|
-
return `${written} results`;
|
|
43
|
-
}
|
|
44
|
-
},
|
|
45
|
-
select: { clear: "Clear" },
|
|
46
|
-
sidebar: {
|
|
47
|
-
collapse: "Collapse the sidebar",
|
|
48
|
-
expand: "Expand the sidebar",
|
|
49
|
-
openMenu: "Open menu"
|
|
50
|
-
},
|
|
51
|
-
stat: {
|
|
52
|
-
change: "Change",
|
|
53
|
-
fell: "down",
|
|
54
|
-
rose: "up"
|
|
55
|
-
},
|
|
56
|
-
table: {
|
|
57
|
-
actions: "Actions",
|
|
58
|
-
anything: "Anything",
|
|
59
|
-
clear: "Clear",
|
|
60
|
-
clearAll: "Clear the filters",
|
|
61
|
-
clearFilter: (column) => `Remove the filter on ${column}`,
|
|
62
|
-
clearSelection: "Clear selection",
|
|
63
|
-
done: "Done",
|
|
64
|
-
emptyHint: "Items will show up here once there are some.",
|
|
65
|
-
emptyTitle: "No items yet",
|
|
66
|
-
expandRow: (row) => `Show more about row ${row}`,
|
|
67
|
-
filterBy: (column) => `Filter ${column}`,
|
|
68
|
-
filterPick: (column) => `Pick from ${column}`,
|
|
69
|
-
filterRange: (column) => `Range of ${column}`,
|
|
70
|
-
filterSearch: (column) => `Search in ${column}`,
|
|
71
|
-
from: "From",
|
|
72
|
-
nextPage: "Next page",
|
|
73
|
-
noRows: "No rows",
|
|
74
|
-
nothingHint: "Drop one of the conditions, or clear the search.",
|
|
75
|
-
nothingTitle: "Nothing matches those filters",
|
|
76
|
-
pages: "Pages",
|
|
77
|
-
previousPage: "Previous page",
|
|
78
|
-
rowsPerPage: "Rows per page",
|
|
79
|
-
selectAll: "Select the rows on this page",
|
|
80
|
-
selectRow: (row) => `Select row ${row}`,
|
|
81
|
-
selected: (_count, written) => `${written} selected`,
|
|
82
|
-
shown: (from, to, total) => `${from}–${to} of ${total}`,
|
|
83
|
-
sortAscending: (column) => `Sort ${column} smallest first`,
|
|
84
|
-
sortBy: (column) => `Sort by ${column}`,
|
|
85
|
-
sortClear: (column) => `Stop sorting by ${column}`,
|
|
86
|
-
sortDescending: (column) => `Sort ${column} largest first`,
|
|
87
|
-
to: "To"
|
|
88
|
-
},
|
|
89
|
-
tail: { empty: "No log lines" },
|
|
90
|
-
userMenu: { account: "account" }
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
//#endregion
|
|
94
|
-
export { english };
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=words.js.map
|
package/dist/words.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"words.js","names":[],"sources":["../src/words.ts"],"sourcesContent":["const SINGLE = 1\n\ninterface TableWords {\n actions: string\n anything: string\n clear: string\n clearAll: string\n clearFilter: (column: string) => string\n clearSelection: string\n done: string\n emptyHint: string\n emptyTitle: string\n expandRow: (row: string) => string\n filterBy: (column: string) => string\n filterPick: (column: string) => string\n filterRange: (column: string) => string\n filterSearch: (column: string) => string\n from: string\n nextPage: string\n noRows: string\n pages: string\n nothingHint: string\n nothingTitle: string\n previousPage: string\n rowsPerPage: string\n selectAll: string\n selectRow: (row: string) => string\n selected: (count: number, written: string) => string\n shown: (from: string, to: string, total: string) => string\n sortAscending: (column: string) => string\n sortBy: (column: string) => string\n sortClear: (column: string) => string\n sortDescending: (column: string) => string\n to: string\n}\n\ninterface DatePickerWords {\n calendar: string\n choose: (day: string) => string\n chosen: (day: string) => string\n clear: string\n close: string\n nextDecade: string\n nextMonth: string\n nextYear: string\n open: string\n patternDay: string\n patternMonth: string\n patternYear: string\n pickMonth: string\n pickYear: string\n preset: (span: string) => string\n previousDecade: string\n previousMonth: string\n previousYear: string\n rangeFrom: (day: string) => string\n rangeTo: (day: string) => string\n showDays: string\n showMonths: string\n showYears: string\n unavailable: (day: string) => string\n week: string\n weekNumber: (week: string) => string\n}\n\ninterface DialogWords {\n close: string\n}\n\ninterface SidebarWords {\n collapse: string\n expand: string\n openMenu: string\n}\n\ninterface StatWords {\n change: string\n fell: string\n rose: string\n}\n\ninterface SearchWords {\n dismiss: string\n nothing: string\n results: (count: number, written: string) => string\n}\n\ninterface ListboxWords {\n empty: string\n}\n\ninterface QueueWords {\n label: string\n}\n\ninterface SelectWords {\n clear: string\n}\n\ninterface TailWords {\n empty: string\n}\n\ninterface UserMenuWords {\n account: string\n}\n\ninterface Words {\n datePicker: DatePickerWords\n dialog: DialogWords\n listbox: ListboxWords\n queue: QueueWords\n search: SearchWords\n select: SelectWords\n sidebar: SidebarWords\n stat: StatWords\n table: TableWords\n tail: TailWords\n userMenu: UserMenuWords\n}\n\ninterface Language {\n locale?: string\n words: Words\n}\n\nconst english: Language = {\n locale: 'en-US',\n\n words: {\n datePicker: {\n calendar: 'Calendar',\n choose: (day) => `Choose ${day}`,\n chosen: (day) => `Chosen, ${day}`,\n clear: 'Clear the dates',\n close: 'Close the calendar',\n nextDecade: 'Next decade',\n nextMonth: 'Next month',\n nextYear: 'Next year',\n open: 'Open the calendar',\n patternDay: 'dd',\n patternMonth: 'mm',\n patternYear: 'yyyy',\n pickMonth: 'Pick a month',\n pickYear: 'Pick a year',\n preset: (span) => `Choose ${span}`,\n previousDecade: 'Previous decade',\n previousMonth: 'Previous month',\n previousYear: 'Previous year',\n rangeFrom: (day) => `Start the range at ${day}`,\n rangeTo: (day) => `End the range at ${day}`,\n showDays: 'Show the days',\n showMonths: 'Show the months',\n showYears: 'Show the years',\n unavailable: (day) => `Not available, ${day}`,\n week: 'Wk',\n weekNumber: (week) => `Week ${week}`,\n },\n\n dialog: {\n close: 'Close',\n },\n\n listbox: {\n empty: 'Nothing to choose from',\n },\n\n queue: {\n label: 'Queue',\n },\n\n search: {\n dismiss: 'Esc closes',\n nothing: 'Nothing matches that',\n results: (count, written) => {\n if (count === SINGLE) {\n return '1 result'\n }\n return `${written} results`\n },\n },\n\n select: {\n clear: 'Clear',\n },\n\n sidebar: {\n collapse: 'Collapse the sidebar',\n expand: 'Expand the sidebar',\n openMenu: 'Open menu',\n },\n\n stat: {\n change: 'Change',\n fell: 'down',\n rose: 'up',\n },\n\n table: {\n actions: 'Actions',\n anything: 'Anything',\n clear: 'Clear',\n clearAll: 'Clear the filters',\n clearFilter: (column) => `Remove the filter on ${column}`,\n clearSelection: 'Clear selection',\n done: 'Done',\n emptyHint: 'Items will show up here once there are some.',\n emptyTitle: 'No items yet',\n expandRow: (row) => `Show more about row ${row}`,\n filterBy: (column) => `Filter ${column}`,\n filterPick: (column) => `Pick from ${column}`,\n filterRange: (column) => `Range of ${column}`,\n filterSearch: (column) => `Search in ${column}`,\n from: 'From',\n nextPage: 'Next page',\n noRows: 'No rows',\n nothingHint: 'Drop one of the conditions, or clear the search.',\n nothingTitle: 'Nothing matches those filters',\n pages: 'Pages',\n previousPage: 'Previous page',\n rowsPerPage: 'Rows per page',\n selectAll: 'Select the rows on this page',\n selectRow: (row) => `Select row ${row}`,\n selected: (_count, written) => `${written} selected`,\n shown: (from, to, total) => `${from}–${to} of ${total}`,\n sortAscending: (column) => `Sort ${column} smallest first`,\n sortBy: (column) => `Sort by ${column}`,\n sortClear: (column) => `Stop sorting by ${column}`,\n sortDescending: (column) => `Sort ${column} largest first`,\n to: 'To',\n },\n\n tail: {\n empty: 'No log lines',\n },\n\n userMenu: {\n account: 'account',\n },\n },\n}\n\nexport type {\n DatePickerWords,\n DialogWords,\n Language,\n SearchWords,\n SelectWords,\n SidebarWords,\n StatWords,\n TableWords,\n TailWords,\n UserMenuWords,\n Words,\n}\nexport { english }\n"],"mappings":";AAAA,MAAM,SAAS;AA8Hf,MAAM,UAAoB;CACxB,QAAQ;CAER,OAAO;EACL,YAAY;GACV,UAAU;GACV,SAAS,QAAQ,UAAU;GAC3B,SAAS,QAAQ,WAAW;GAC5B,OAAO;GACP,OAAO;GACP,YAAY;GACZ,WAAW;GACX,UAAU;GACV,MAAM;GACN,YAAY;GACZ,cAAc;GACd,aAAa;GACb,WAAW;GACX,UAAU;GACV,SAAS,SAAS,UAAU;GAC5B,gBAAgB;GAChB,eAAe;GACf,cAAc;GACd,YAAY,QAAQ,sBAAsB;GAC1C,UAAU,QAAQ,oBAAoB;GACtC,UAAU;GACV,YAAY;GACZ,WAAW;GACX,cAAc,QAAQ,kBAAkB;GACxC,MAAM;GACN,aAAa,SAAS,QAAQ;EAChC;EAEA,QAAQ,EACN,OAAO,QACT;EAEA,SAAS,EACP,OAAO,yBACT;EAEA,OAAO,EACL,OAAO,QACT;EAEA,QAAQ;GACN,SAAS;GACT,SAAS;GACT,UAAU,OAAO,YAAY;IAC3B,IAAI,UAAU,QACZ,OAAO;IAET,OAAO,GAAG,QAAQ;GACpB;EACF;EAEA,QAAQ,EACN,OAAO,QACT;EAEA,SAAS;GACP,UAAU;GACV,QAAQ;GACR,UAAU;EACZ;EAEA,MAAM;GACJ,QAAQ;GACR,MAAM;GACN,MAAM;EACR;EAEA,OAAO;GACL,SAAS;GACT,UAAU;GACV,OAAO;GACP,UAAU;GACV,cAAc,WAAW,wBAAwB;GACjD,gBAAgB;GAChB,MAAM;GACN,WAAW;GACX,YAAY;GACZ,YAAY,QAAQ,uBAAuB;GAC3C,WAAW,WAAW,UAAU;GAChC,aAAa,WAAW,aAAa;GACrC,cAAc,WAAW,YAAY;GACrC,eAAe,WAAW,aAAa;GACvC,MAAM;GACN,UAAU;GACV,QAAQ;GACR,aAAa;GACb,cAAc;GACd,OAAO;GACP,cAAc;GACd,aAAa;GACb,WAAW;GACX,YAAY,QAAQ,cAAc;GAClC,WAAW,QAAQ,YAAY,GAAG,QAAQ;GAC1C,QAAQ,MAAM,IAAI,UAAU,GAAG,KAAK,GAAG,GAAG,MAAM;GAChD,gBAAgB,WAAW,QAAQ,OAAO;GAC1C,SAAS,WAAW,WAAW;GAC/B,YAAY,WAAW,mBAAmB;GAC1C,iBAAiB,WAAW,QAAQ,OAAO;GAC3C,IAAI;EACN;EAEA,MAAM,EACJ,OAAO,eACT;EAEA,UAAU,EACR,SAAS,UACX;CACF;AACF"}
|