@caratlogic/design-system 0.1.46 → 0.1.48

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.
Files changed (33) hide show
  1. package/dist/components/atoms/BrandLoader/BrandLoader.d.ts +10 -0
  2. package/dist/components/atoms/BrandLoader/BrandLoader.d.ts.map +1 -0
  3. package/dist/components/atoms/BrandLoader/BrandLoader.types.d.ts +9 -0
  4. package/dist/components/atoms/BrandLoader/BrandLoader.types.d.ts.map +1 -0
  5. package/dist/components/atoms/BrandLoader/BrandLoader.utils.d.ts +13 -0
  6. package/dist/components/atoms/BrandLoader/BrandLoader.utils.d.ts.map +1 -0
  7. package/dist/components/atoms/BrandLoader/index.d.ts +4 -0
  8. package/dist/components/atoms/BrandLoader/index.d.ts.map +1 -0
  9. package/dist/components/molecules/InvoiceComboBox/InvoiceComboBox.utils.d.ts.map +1 -1
  10. package/dist/components/molecules/PageLoader/PageLoader.d.ts +6 -0
  11. package/dist/components/molecules/PageLoader/PageLoader.d.ts.map +1 -0
  12. package/dist/components/molecules/PageLoader/PageLoader.types.d.ts +5 -0
  13. package/dist/components/molecules/PageLoader/PageLoader.types.d.ts.map +1 -0
  14. package/dist/components/molecules/PageLoader/index.d.ts +3 -0
  15. package/dist/components/molecules/PageLoader/index.d.ts.map +1 -0
  16. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.d.ts +11 -0
  17. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.d.ts.map +1 -0
  18. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.types.d.ts +7 -0
  19. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.types.d.ts.map +1 -0
  20. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.utils.d.ts +2 -0
  21. package/dist/components/molecules/SubmittingOverlay/SubmittingOverlay.utils.d.ts.map +1 -0
  22. package/dist/components/molecules/SubmittingOverlay/index.d.ts +3 -0
  23. package/dist/components/molecules/SubmittingOverlay/index.d.ts.map +1 -0
  24. package/dist/index.cjs.js +60 -8
  25. package/dist/index.cjs.js.map +1 -1
  26. package/dist/index.d.ts +3 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.esm.js +57 -9
  29. package/dist/index.esm.js.map +1 -1
  30. package/dist/source.css +33 -0
  31. package/dist/utils/currencyUtils.d.ts +2 -0
  32. package/dist/utils/currencyUtils.d.ts.map +1 -1
  33. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export * from './utils/geoUtils';
7
7
  export * from './components/atoms/ActionButtonWithTooltip';
8
8
  export * from './components/atoms/Alert';
9
9
  export * from './components/atoms/Badge';
10
+ export * from './components/atoms/BrandLoader';
10
11
  export * from './components/atoms/Button';
11
12
  export * from './components/atoms/CopyButton';
12
13
  export * from './components/atoms/CurrencyInput';
@@ -71,6 +72,7 @@ export * from './components/molecules/MetricTile';
71
72
  export * from './components/molecules/Modal';
72
73
  export * from './components/molecules/MoreInfoPanel';
73
74
  export * from './components/molecules/NumberedStepCard';
75
+ export * from './components/molecules/PageLoader';
74
76
  export * from './components/molecules/PageTabs';
75
77
  export * from './components/molecules/Pagination';
76
78
  export * from './components/molecules/PaginationSelect';
@@ -87,6 +89,7 @@ export * from './components/molecules/Sidebar';
87
89
  export * from './components/molecules/Skeletons';
88
90
  export * from './components/molecules/SlideOut';
89
91
  export * from './components/molecules/SpecList';
92
+ export * from './components/molecules/SubmittingOverlay';
90
93
  export * from './components/molecules/TablePagination';
91
94
  export * from './components/molecules/TagsInput';
92
95
  export * from './components/molecules/TimePicker';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -13717,6 +13717,30 @@ const Badge = forwardRef(({ appearance = 'solid', color = 'primary', size = 'md'
13717
13717
  });
13718
13718
  Badge.displayName = 'Badge';
13719
13719
 
13720
+ // The second ring trails well behind the first, so the two travel out with a clear gap.
13721
+ const BRAND_LOADER_RINGS = [
13722
+ { id: 'first', delay: '0s' },
13723
+ { id: 'second', delay: '0.45s' },
13724
+ ];
13725
+ const RING_TONE_CLASS = {
13726
+ default: 'border-primary/50',
13727
+ inverse: 'border-white/80',
13728
+ };
13729
+ /** Clips the sheen to the logo's own shape. */
13730
+ const logoMaskStyle = (logoSrc) => ({
13731
+ maskImage: `url(${logoSrc})`,
13732
+ WebkitMaskImage: `url(${logoSrc})`,
13733
+ });
13734
+
13735
+ /**
13736
+ * The animated brand gem: it winds up, springs out with a glow and settles while
13737
+ * two rings ripple out behind it. Needs the `loader-*` animations from
13738
+ * `source.css`; motion stops for users who ask for reduced motion.
13739
+ */
13740
+ function BrandLoader({ logoSrc, tone = 'default', className }) {
13741
+ return (jsxs("div", { "aria-hidden": true, className: cn('relative flex size-28 items-center justify-center', className), children: [BRAND_LOADER_RINGS.map((ring) => (jsx("span", { "data-loader-ring": true, style: { animationDelay: ring.delay }, className: cn('absolute size-24 rounded-full border-2 opacity-0 motion-safe:animate-loader-ring motion-reduce:hidden', RING_TONE_CLASS[tone]) }, ring.id))), jsxs("div", { className: "relative size-[7.8rem] shrink-0 motion-safe:animate-loader-gem motion-reduce:scale-[0.77]", children: [jsx("img", { src: logoSrc, alt: "", className: "size-full object-contain" }), jsx("span", { style: logoMaskStyle(logoSrc), className: "absolute inset-0 bg-[linear-gradient(110deg,transparent_35%,rgb(255_255_255/0.8)_50%,transparent_65%)] bg-[length:200%_100%] [mask-position:center] [mask-repeat:no-repeat] [mask-size:contain] motion-safe:animate-loader-sheen motion-reduce:hidden" })] })] }));
13742
+ }
13743
+
13720
13744
  const getButtonRoleProps = (type) => ({
13721
13745
  type: type ?? 'button',
13722
13746
  });
@@ -14011,9 +14035,15 @@ const getCurrencySymbol = (code) => {
14011
14035
  CAD: 'CA$',
14012
14036
  CHF: 'CHF',
14013
14037
  INR: '₹',
14038
+ PLN: 'zł',
14014
14039
  };
14015
14040
  return symbols[c] ?? c;
14016
14041
  };
14042
+ /** Intl prints the bare code for currencies with no English symbol (PLN 1,230.00); use our symbol instead. */
14043
+ const withCurrencySymbol = (formatted, code) => {
14044
+ const symbol = getCurrencySymbol(code);
14045
+ return symbol === code ? formatted : formatted.replace(code, symbol);
14046
+ };
14017
14047
  /**
14018
14048
  * Format currency amount with proper symbol, ensuring USD always shows as "$" not "US$"
14019
14049
  * This normalizes browser inconsistencies in Intl.NumberFormat output
@@ -14037,7 +14067,7 @@ function formatCurrencyAmount(amount, currency, options) {
14037
14067
  if (currencyCode === 'USD' && formatted.includes('US$')) {
14038
14068
  formatted = formatted.replace(/US\$/g, '$');
14039
14069
  }
14040
- return formatted;
14070
+ return withCurrencySymbol(formatted, currencyCode);
14041
14071
  }
14042
14072
  catch (error) {
14043
14073
  // Fallback if currency code is invalid
@@ -44615,17 +44645,15 @@ const WarehouseFilter = ({ getWarehouseList, ...props }) => {
44615
44645
  };
44616
44646
 
44617
44647
  function formatInvoiceLabel(invoice) {
44618
- const amount = new Intl.NumberFormat('en-US', {
44619
- style: 'currency',
44620
- currency: invoice.baseCurrency || 'USD',
44621
- }).format(invoice.totalAmount);
44648
+ const amount = formatCurrency(invoice.totalAmount, invoice.baseCurrency);
44622
44649
  return `${invoice.invoiceNumber} - ${invoice.customer?.contactName || 'N/A'} (${amount})`;
44623
44650
  }
44624
44651
  function formatCurrency(amount, currency) {
44625
- return new Intl.NumberFormat('en-US', {
44652
+ const code = currency || 'USD';
44653
+ return withCurrencySymbol(new Intl.NumberFormat('en-US', {
44626
44654
  style: 'currency',
44627
- currency: currency || 'USD',
44628
- }).format(amount);
44655
+ currency: code,
44656
+ }).format(amount), code);
44629
44657
  }
44630
44658
  /** The currency the invoice was issued in; `baseCurrency` is only its ledger currency. */
44631
44659
  function getInvoiceCurrency(invoice) {
@@ -44863,6 +44891,11 @@ const NumberedStepCard = ({ step, title, description, className, }) => {
44863
44891
  return (jsxs("div", { className: cn('flex flex-col gap-3 rounded-xl border border-border bg-card p-4', className), children: [jsx("span", { className: "inline-flex h-6 w-6 items-center justify-center rounded-full bg-primary text-xs font-medium text-primary-foreground", children: step }), jsxs("div", { className: "space-y-1", children: [jsx("p", { className: "text-sm font-medium text-foreground", children: title }), jsx("p", { className: "text-xs leading-snug text-label", children: description })] })] }));
44864
44892
  };
44865
44893
 
44894
+ /** Fills the content area with the brand loader while a page loads. */
44895
+ function PageLoader({ logoSrc, className }) {
44896
+ return (jsxs("div", { role: "status", "aria-live": "polite", className: cn('flex min-h-full flex-1 items-center justify-center', className), children: [jsx(BrandLoader, { logoSrc: logoSrc }), jsx("span", { className: "sr-only", children: "Loading" })] }));
44897
+ }
44898
+
44866
44899
  /** Options with a description get the taller layout with an icon badge (default variant only). */
44867
44900
  function hasDetails(variant, hasDescription) {
44868
44901
  return variant === 'default' && hasDescription;
@@ -73797,6 +73830,21 @@ const SpecList = ({ rows, zebra = true, className, }) => {
73797
73830
  }) }));
73798
73831
  };
73799
73832
 
73833
+ // A thin white glow traces the gem so the green reads on the dark scrim in both themes.
73834
+ const GEM_EDGE_GLOW_CLASS = '[filter:drop-shadow(0_0_1px_rgb(255_255_255/0.6))_drop-shadow(0_0_6px_rgb(255_255_255/0.15))]';
73835
+
73836
+ /**
73837
+ * Full-screen scrim with the brand loader and a short label, shown while a
73838
+ * submit request is in flight. Sits above dialogs and slide-outs (z-50), since
73839
+ * some submits start from one. `pointer-events-auto` because an open Radix
73840
+ * dialog sets `pointer-events: none` on body, which would let clicks through.
73841
+ */
73842
+ function SubmittingOverlay({ open, label, logoSrc }) {
73843
+ if (!open)
73844
+ return null;
73845
+ return createPortal(jsx("div", { role: "status", "aria-live": "polite", "aria-busy": true, className: "pointer-events-auto fixed inset-0 z-[100] flex items-center justify-center bg-black/60 backdrop-blur-sm", children: jsxs("div", { className: "flex flex-col items-center gap-4", children: [jsx("div", { className: GEM_EDGE_GLOW_CLASS, children: jsx(BrandLoader, { logoSrc: logoSrc, tone: "inverse" }) }), jsx("p", { className: "text-base font-medium tracking-wide text-white", children: label })] }) }), document.body);
73846
+ }
73847
+
73800
73848
  const usePageJump = (totalPages, onPageChange) => {
73801
73849
  const [pageInput, setPageInputState] = useState('');
73802
73850
  const setPageInput = useCallback((v) => {
@@ -81135,5 +81183,5 @@ var RichTextAreaImpl = /*#__PURE__*/Object.freeze({
81135
81183
  RichTextarea: RichTextarea
81136
81184
  });
81137
81185
 
81138
- export { ACTIVITY_CATEGORIES, ACTIVITY_CATEGORY_META, ActionBadge, ActionButtonWithTooltip, ActiveFilterChips, ActivityFeed, AdvancedSearchDrawer, Alert, ApiComboBox, AppSidebar, AuditEntryCard, AuditHistoryPanel, AuditTimeline, AuditTimelineShimmer, Badge, BadgeType, BusinessContactStatusFilter, Button, CUSTOMER_AUDIT_CONFIG, CertificateRowList, ChangePill, Collapsible, CollapsibleCard, CollapsibleContent, CollapsibleTrigger, CompanyCard, ConfirmDialog, ContactTypeFilter, ContainsFilter, CopyButton, CountrySelect, CreateFormPageHeader, CreateFormPageShell, CurrencyDisplayTabs, CurrencyInput, CurrencyToggle, CustomCombobox, CustomFieldInput, CustomFieldValue, CustomTable, CustomizeColumnsDrawer, DATE_PRESET_OPTIONS, DIAMOND_AUDIT_CONFIG, DashboardShell, DataEditableTable, DataTable, DateInput, DateRangeFilter, DetailChip, DetailPageLayout, DetailPageSkeleton, DetailSection, DocumentDeleteDialog, DocumentDetailSkeleton, DocumentHero, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyValue, EntityHeader, FILTER_COUNT_BADGE_CLASS_NAME, Field, FieldSkeleton, FileUploader, FilterCardSkeleton, FilterCellPopover, FilterEmptyState, FilterField, FilterFieldCard, FilterFieldCell, FilterFieldControl, FilterMultiSelect, FilterPanel, FilterSelect, FilterSurface, FilterSurfaceGroup, FilterSurfaceMore, FilterSurfaceSortable, FloatingSlideOver, FormSectionCard, FormSectionCardSkeleton, GEM_AUDIT_CONFIG, HistoryEntryCard, HistoryTimeline, HistoryTimelineShimmer, INVOICE_AUDIT_CONFIG, IconButton, IdHyperlinkText, IdListInput, InAppNotificationCard, InAppNotificationsPanel, InfoBanner, InventoryComboBox, InventoryItemCard, InventoryItemRow, InvoiceComboBox, KYCStatusFilter, KeyValueGrid, LAYOUT_AUDIT_CONFIG, LabeledToggle, LineItemsCard, LineProductCell, LineProductThumb, LineProductTypeChip, LineRowActionsMenu, LineTable, LineTableEmpty, MEMO_IN_AUDIT_CONFIG, MEMO_OUT_AUDIT_CONFIG, MediaGallery, MemoInComboBox, MetricCard, MetricRow, MetricTile, Modal, MoreInfoPanel, MoreInfoTrigger, NOT_CAPTURED, Navbar, NavbarActions, NavbarAvatar, NavbarIconButton, NavbarSearch, NavbarTitle, NumberExpressionFilter, NumberInput, NumberRangeInputs, NumberedStepCard, OtpInput, OwnershipFilter, OwnershipSplitCard, PROFORMA_AUDIT_CONFIG, PageHeader, PageTabs, Pagination, PaginationSelect, PartnerShareCard, PickListDropdown, PickListFilter, PriceInput, Protected, PurchaseOrderComboBox, QUOTATION_AUDIT_CONFIG, RadioCardGroup, ReadMoreText, RefreshButton, RichTextarea$1 as RichTextarea, SAVED_SEARCH_NAME_MAX_LENGTH, SEARCHABLE_SELECT_PAGE_SIZE, SafeImage, SaveSearchDialog, SavedSearchChipList, SavedSearchDetail, SavedSearchesMenu, ScaleRangeFilter, ScrollFade, SearchBox, SearchInput, SearchableSelect, SectionCard, SectionIcon, SegmentedControl, ShareDialog, ShareMenu, ShimmerTable, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SlideOut, SlideOutClose, SlideOutContent, SlideOutDescription, SlideOutHeader, SlideOutOverlay, SlideOutPortal, SlideOutTitle, SlideOutTrigger, Slider, SpecList, Spinner, SquareSkeleton, StateSelect, StatusBadge$1 as StatusBadge, StatusFilter, Stepper, StockTypeFilter, TableEmptyState, TablePagination, TableRowsSkeleton, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TagsInput, TextHyperlink, TimePicker, ToggleSwitch, TriStateFilter, TruncateTooltip, TruncatedLabel, WarehouseComboBox, WarehouseFilter, ZoomSplitViewer, asList, asText, badgeVariants, buildBulkShareMessage, buildBulkShareTitle, buildInventoryPublicUrl, buildInventoryRowProps, buildInventoryShareTitle, buildNumberRuleHelp, buildWhatsappUrl, buttonVariants, cn, countries, countryByCode, createVideoMediaItem, describeFilterValue, dropdownMenuItemDestructiveClass, expandScaleRange, fieldTypeIcon, filterSavedSearches, findRegion, flagEmoji, formatAddressLocation, formatDateRange, formatFileSize, formatNumberRange, formatScaleRange, formatSelectedCount, generateActionDescription, generateTitle, getBadgeTypeForStatus, getChangePills, getCountryName, getInitials, getStatesOfCountry, iconButtonVariants, inAppNotificationCardA11y, inAppNotificationsPanelA11y, isBlank, isDuplicateSearchName, isFilterValueActive, isIndiaCountry, isKnownRegion, isPathActive, isValidAlpha2CountryCode, isValidSearchName, isValueEmpty, notify, parseNumberExpression, releaseStaleOverlayBodyLock, renderBadge, resolveCountryCode, resolveDatePreset, resolveDateRange, richTextChangeText, splitIdList, toAddressFormValues, toBoolValue, toContainsValue, toDateValue, toIdsValue, toListValue, toNumberValue, toScaleValue, useAuditShowMore, useBadge, useButton, useDropdownMenu, useInAppNotificationsPanel, useNavbar, useSidebar, valueOfType, videoThumbnailSrc, watchOverlayBodyLock };
81186
+ export { ACTIVITY_CATEGORIES, ACTIVITY_CATEGORY_META, ActionBadge, ActionButtonWithTooltip, ActiveFilterChips, ActivityFeed, AdvancedSearchDrawer, Alert, ApiComboBox, AppSidebar, AuditEntryCard, AuditHistoryPanel, AuditTimeline, AuditTimelineShimmer, BRAND_LOADER_RINGS, Badge, BadgeType, BrandLoader, BusinessContactStatusFilter, Button, CUSTOMER_AUDIT_CONFIG, CertificateRowList, ChangePill, Collapsible, CollapsibleCard, CollapsibleContent, CollapsibleTrigger, CompanyCard, ConfirmDialog, ContactTypeFilter, ContainsFilter, CopyButton, CountrySelect, CreateFormPageHeader, CreateFormPageShell, CurrencyDisplayTabs, CurrencyInput, CurrencyToggle, CustomCombobox, CustomFieldInput, CustomFieldValue, CustomTable, CustomizeColumnsDrawer, DATE_PRESET_OPTIONS, DIAMOND_AUDIT_CONFIG, DashboardShell, DataEditableTable, DataTable, DateInput, DateRangeFilter, DetailChip, DetailPageLayout, DetailPageSkeleton, DetailSection, DocumentDeleteDialog, DocumentDetailSkeleton, DocumentHero, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyValue, EntityHeader, FILTER_COUNT_BADGE_CLASS_NAME, Field, FieldSkeleton, FileUploader, FilterCardSkeleton, FilterCellPopover, FilterEmptyState, FilterField, FilterFieldCard, FilterFieldCell, FilterFieldControl, FilterMultiSelect, FilterPanel, FilterSelect, FilterSurface, FilterSurfaceGroup, FilterSurfaceMore, FilterSurfaceSortable, FloatingSlideOver, FormSectionCard, FormSectionCardSkeleton, GEM_AUDIT_CONFIG, HistoryEntryCard, HistoryTimeline, HistoryTimelineShimmer, INVOICE_AUDIT_CONFIG, IconButton, IdHyperlinkText, IdListInput, InAppNotificationCard, InAppNotificationsPanel, InfoBanner, InventoryComboBox, InventoryItemCard, InventoryItemRow, InvoiceComboBox, KYCStatusFilter, KeyValueGrid, LAYOUT_AUDIT_CONFIG, LabeledToggle, LineItemsCard, LineProductCell, LineProductThumb, LineProductTypeChip, LineRowActionsMenu, LineTable, LineTableEmpty, MEMO_IN_AUDIT_CONFIG, MEMO_OUT_AUDIT_CONFIG, MediaGallery, MemoInComboBox, MetricCard, MetricRow, MetricTile, Modal, MoreInfoPanel, MoreInfoTrigger, NOT_CAPTURED, Navbar, NavbarActions, NavbarAvatar, NavbarIconButton, NavbarSearch, NavbarTitle, NumberExpressionFilter, NumberInput, NumberRangeInputs, NumberedStepCard, OtpInput, OwnershipFilter, OwnershipSplitCard, PROFORMA_AUDIT_CONFIG, PageHeader, PageLoader, PageTabs, Pagination, PaginationSelect, PartnerShareCard, PickListDropdown, PickListFilter, PriceInput, Protected, PurchaseOrderComboBox, QUOTATION_AUDIT_CONFIG, RadioCardGroup, ReadMoreText, RefreshButton, RichTextarea$1 as RichTextarea, SAVED_SEARCH_NAME_MAX_LENGTH, SEARCHABLE_SELECT_PAGE_SIZE, SafeImage, SaveSearchDialog, SavedSearchChipList, SavedSearchDetail, SavedSearchesMenu, ScaleRangeFilter, ScrollFade, SearchBox, SearchInput, SearchableSelect, SectionCard, SectionIcon, SegmentedControl, ShareDialog, ShareMenu, ShimmerTable, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, SlideOut, SlideOutClose, SlideOutContent, SlideOutDescription, SlideOutHeader, SlideOutOverlay, SlideOutPortal, SlideOutTitle, SlideOutTrigger, Slider, SpecList, Spinner, SquareSkeleton, StateSelect, StatusBadge$1 as StatusBadge, StatusFilter, Stepper, StockTypeFilter, SubmittingOverlay, TableEmptyState, TablePagination, TableRowsSkeleton, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TagsInput, TextHyperlink, TimePicker, ToggleSwitch, TriStateFilter, TruncateTooltip, TruncatedLabel, WarehouseComboBox, WarehouseFilter, ZoomSplitViewer, asList, asText, badgeVariants, buildBulkShareMessage, buildBulkShareTitle, buildInventoryPublicUrl, buildInventoryRowProps, buildInventoryShareTitle, buildNumberRuleHelp, buildWhatsappUrl, buttonVariants, cn, countries, countryByCode, createVideoMediaItem, describeFilterValue, dropdownMenuItemDestructiveClass, expandScaleRange, fieldTypeIcon, filterSavedSearches, findRegion, flagEmoji, formatAddressLocation, formatDateRange, formatFileSize, formatNumberRange, formatScaleRange, formatSelectedCount, generateActionDescription, generateTitle, getBadgeTypeForStatus, getChangePills, getCountryName, getInitials, getStatesOfCountry, iconButtonVariants, inAppNotificationCardA11y, inAppNotificationsPanelA11y, isBlank, isDuplicateSearchName, isFilterValueActive, isIndiaCountry, isKnownRegion, isPathActive, isValidAlpha2CountryCode, isValidSearchName, isValueEmpty, notify, parseNumberExpression, releaseStaleOverlayBodyLock, renderBadge, resolveCountryCode, resolveDatePreset, resolveDateRange, richTextChangeText, splitIdList, toAddressFormValues, toBoolValue, toContainsValue, toDateValue, toIdsValue, toListValue, toNumberValue, toScaleValue, useAuditShowMore, useBadge, useButton, useDropdownMenu, useInAppNotificationsPanel, useNavbar, useSidebar, valueOfType, videoThumbnailSrc, watchOverlayBodyLock };
81139
81187
  //# sourceMappingURL=index.esm.js.map