@webiny/admin-ui 6.3.0-beta.2 → 6.3.0-beta.4

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 (134) hide show
  1. package/Accordion/components/AccordionItemAction.d.ts +1 -1
  2. package/Accordion/components/AccordionItemAction.js.map +1 -1
  3. package/Calendar/Calendar.d.ts +25 -0
  4. package/Calendar/Calendar.js +45 -0
  5. package/Calendar/Calendar.js.map +1 -0
  6. package/Calendar/calendarClassNames.d.ts +2 -0
  7. package/Calendar/calendarClassNames.js +33 -0
  8. package/Calendar/calendarClassNames.js.map +1 -0
  9. package/Calendar/index.d.ts +1 -0
  10. package/Calendar/index.js +3 -0
  11. package/Calendar/index.js.map +1 -0
  12. package/CodeEditor/CodeEditorPrimitive.js +1 -1
  13. package/CodeEditor/CodeEditorPrimitive.js.map +1 -1
  14. package/DatePicker/DatePicker.d.ts +24 -0
  15. package/DatePicker/DatePicker.js +46 -0
  16. package/DatePicker/DatePicker.js.map +1 -0
  17. package/DatePicker/DatePicker.mdx +153 -0
  18. package/DatePicker/DatePicker.stories.d.ts +25 -0
  19. package/DatePicker/DatePicker.stories.js +365 -0
  20. package/DatePicker/DatePicker.stories.js.map +1 -0
  21. package/DatePicker/index.d.ts +2 -0
  22. package/DatePicker/index.js +4 -0
  23. package/DatePicker/index.js.map +1 -0
  24. package/DatePicker/primitives/DateOnlyPicker.d.ts +4 -0
  25. package/DatePicker/primitives/DateOnlyPicker.js +78 -0
  26. package/DatePicker/primitives/DateOnlyPicker.js.map +1 -0
  27. package/DatePicker/primitives/DatePickerPrimitive.d.ts +22 -0
  28. package/DatePicker/primitives/DatePickerPrimitive.js +46 -0
  29. package/DatePicker/primitives/DatePickerPrimitive.js.map +1 -0
  30. package/DatePicker/primitives/DateRangePicker.d.ts +4 -0
  31. package/DatePicker/primitives/DateRangePicker.js +69 -0
  32. package/DatePicker/primitives/DateRangePicker.js.map +1 -0
  33. package/DatePicker/primitives/DateTimePicker.d.ts +7 -0
  34. package/DatePicker/primitives/DateTimePicker.js +129 -0
  35. package/DatePicker/primitives/DateTimePicker.js.map +1 -0
  36. package/DatePicker/primitives/MonthPicker.d.ts +4 -0
  37. package/DatePicker/primitives/MonthPicker.js +60 -0
  38. package/DatePicker/primitives/MonthPicker.js.map +1 -0
  39. package/DatePicker/primitives/MultipleDatesPicker.d.ts +4 -0
  40. package/DatePicker/primitives/MultipleDatesPicker.js +73 -0
  41. package/DatePicker/primitives/MultipleDatesPicker.js.map +1 -0
  42. package/DatePicker/primitives/MultipleMonthsPicker.d.ts +4 -0
  43. package/DatePicker/primitives/MultipleMonthsPicker.js +85 -0
  44. package/DatePicker/primitives/MultipleMonthsPicker.js.map +1 -0
  45. package/DatePicker/primitives/MultipleYearsPicker.d.ts +4 -0
  46. package/DatePicker/primitives/MultipleYearsPicker.js +75 -0
  47. package/DatePicker/primitives/MultipleYearsPicker.js.map +1 -0
  48. package/DatePicker/primitives/TimeOnlyPicker.d.ts +4 -0
  49. package/DatePicker/primitives/TimeOnlyPicker.js +24 -0
  50. package/DatePicker/primitives/TimeOnlyPicker.js.map +1 -0
  51. package/DatePicker/primitives/WeekPicker.d.ts +4 -0
  52. package/DatePicker/primitives/WeekPicker.js +97 -0
  53. package/DatePicker/primitives/WeekPicker.js.map +1 -0
  54. package/DatePicker/primitives/YearPicker.d.ts +4 -0
  55. package/DatePicker/primitives/YearPicker.js +54 -0
  56. package/DatePicker/primitives/YearPicker.js.map +1 -0
  57. package/DatePicker/primitives/components/DatePickerTrigger.d.ts +13 -0
  58. package/DatePicker/primitives/components/DatePickerTrigger.js +45 -0
  59. package/DatePicker/primitives/components/DatePickerTrigger.js.map +1 -0
  60. package/DatePicker/primitives/components/MonthGrid.d.ts +7 -0
  61. package/DatePicker/primitives/components/MonthGrid.js +23 -0
  62. package/DatePicker/primitives/components/MonthGrid.js.map +1 -0
  63. package/DatePicker/primitives/components/SelectedTagsList.d.ts +11 -0
  64. package/DatePicker/primitives/components/SelectedTagsList.js +23 -0
  65. package/DatePicker/primitives/components/SelectedTagsList.js.map +1 -0
  66. package/DatePicker/primitives/components/TimePicker.d.ts +13 -0
  67. package/DatePicker/primitives/components/TimePicker.js +33 -0
  68. package/DatePicker/primitives/components/TimePicker.js.map +1 -0
  69. package/DatePicker/primitives/components/YearGrid.d.ts +8 -0
  70. package/DatePicker/primitives/components/YearGrid.js +46 -0
  71. package/DatePicker/primitives/components/YearGrid.js.map +1 -0
  72. package/DatePicker/primitives/components/YearStepper.d.ts +7 -0
  73. package/DatePicker/primitives/components/YearStepper.js +36 -0
  74. package/DatePicker/primitives/components/YearStepper.js.map +1 -0
  75. package/DatePicker/primitives/components/index.d.ts +6 -0
  76. package/DatePicker/primitives/components/index.js +8 -0
  77. package/DatePicker/primitives/components/index.js.map +1 -0
  78. package/DatePicker/primitives/index.d.ts +1 -0
  79. package/DatePicker/primitives/index.js +3 -0
  80. package/DatePicker/primitives/index.js.map +1 -0
  81. package/DatePicker/utils/constants.d.ts +3 -0
  82. package/DatePicker/utils/constants.js +5 -0
  83. package/DatePicker/utils/constants.js.map +1 -0
  84. package/DatePicker/utils/dateHelpers.d.ts +24 -0
  85. package/DatePicker/utils/dateHelpers.js +184 -0
  86. package/DatePicker/utils/dateHelpers.js.map +1 -0
  87. package/DatePicker/utils/index.d.ts +3 -0
  88. package/DatePicker/utils/index.js +5 -0
  89. package/DatePicker/utils/index.js.map +1 -0
  90. package/DatePicker/utils/types.d.ts +81 -0
  91. package/DatePicker/utils/types.js +3 -0
  92. package/DatePicker/utils/types.js.map +1 -0
  93. package/Dialog/Dialog.d.ts +1 -0
  94. package/Dialog/Dialog.js +9 -3
  95. package/Dialog/Dialog.js.map +1 -1
  96. package/Dialog/components/DialogBody.d.ts +2 -2
  97. package/Dialog/components/DialogBody.js +10 -3
  98. package/Dialog/components/DialogBody.js.map +1 -1
  99. package/Dialog/components/DialogContent.d.ts +3 -0
  100. package/Dialog/components/DialogContent.js +11 -4
  101. package/Dialog/components/DialogContent.js.map +1 -1
  102. package/FilePicker/FilePicker.d.ts +1 -1
  103. package/FilePicker/FilePicker.js.map +1 -1
  104. package/FilePicker/FilePicker.stories.js +4 -5
  105. package/FilePicker/FilePicker.stories.js.map +1 -1
  106. package/FilePicker/domains/FileItem.js +2 -0
  107. package/FilePicker/domains/FileItem.js.map +1 -1
  108. package/List/components/ListItemAction.d.ts +1 -1
  109. package/List/components/ListItemAction.js.map +1 -1
  110. package/List/components/ListItemHandle.d.ts +1 -1
  111. package/List/components/ListItemHandle.js.map +1 -1
  112. package/MultiFilePicker/MultiFilePicker.stories.js +4 -5
  113. package/MultiFilePicker/MultiFilePicker.stories.js.map +1 -1
  114. package/RangeSlider/primitives/RangeSliderPrimitive.js +1 -1
  115. package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
  116. package/Sidebar/Sidebar.js +1 -1
  117. package/Sidebar/Sidebar.js.map +1 -1
  118. package/Sidebar/components/SidebarContent.js +1 -1
  119. package/Sidebar/components/SidebarContent.js.map +1 -1
  120. package/Sidebar/components/items/SidebarMenuRootButton.js +1 -1
  121. package/Sidebar/components/items/SidebarMenuRootButton.js.map +1 -1
  122. package/Sidebar/components/items/SidebarMenuRootItem.js +2 -1
  123. package/Sidebar/components/items/SidebarMenuRootItem.js.map +1 -1
  124. package/Sidebar/components/items/SidebarMenuSubButton.js +1 -1
  125. package/Sidebar/components/items/SidebarMenuSubButton.js.map +1 -1
  126. package/Tabs/Tabs.js +1 -1
  127. package/Tabs/Tabs.js.map +1 -1
  128. package/exports/admin/ui.d.ts +1 -0
  129. package/exports/admin/ui.js +2 -0
  130. package/exports/admin/ui.js.map +1 -1
  131. package/index.d.ts +2 -0
  132. package/index.js +2 -0
  133. package/index.js.map +1 -1
  134. package/package.json +19 -15
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useMemo","useState","useEffect","cn","makeDecoratable","withStaticProps","SidebarMenuRootButton","SidebarMenuItemIcon","SidebarMenuItemAction","SidebarMenuSub","Collapsible","Icon","ReactComponent","KeyboardArrowRightIcon","PinIcon","UnPinIcon","useSidebarMenu","useSidebar","SidebarMenuItemBase","children","className","pinnable","action","buttonProps","currentLevel","parentIcon","sidebar","showChevron","setShowChevron","menuItemId","btoa","text","isSectionExpanded","expandedSections","toggleSectionExpanded","expanded","timer","setTimeout","clearTimeout","undefined","isPinned","isItemPinned","pinnedItemIcon","pinnedIcon","icon","registerPinnedItem","id","to","onClick","active","unregisterPinnedItem","pinAction","handlePinClick","e","stopPropagation","preventDefault","toggleItemPinned","pinButton","createElement","element","showOnHover","sidebarMenuButton","Object","assign","chevron","label","size","color","collapsibleAction","Root","open","onOpenChange","Trigger","asChild","Content","forceMount","DecoratableSidebarMenuItem","SidebarMenuRootItem","Action"],"sources":["SidebarMenuRootItem.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState, useEffect } from \"react\";\nimport { cn, makeDecoratable, withStaticProps } from \"~/utils.js\";\nimport { SidebarMenuRootButton } from \"./SidebarMenuRootButton.js\";\nimport { SidebarMenuItemIcon } from \"./SidebarMenuItemIcon.js\";\nimport { SidebarMenuItemAction } from \"./SidebarMenuItemAction.js\";\nimport { SidebarMenuSub } from \"./SidebarMenuSub.js\";\nimport { Collapsible } from \"radix-ui\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { ReactComponent as KeyboardArrowRightIcon } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { ReactComponent as PinIcon } from \"@webiny/icons/push_pin.svg\";\nimport { ReactComponent as UnPinIcon } from \"@webiny/icons/push_pin_off.svg\";\nimport { type SidebarMenuItemProps } from \"./SidebarMenuItem.js\";\nimport { useSidebarMenu } from \"~/Sidebar/components/items/SidebarMenuProvider.js\";\nimport { useSidebar } from \"~/Sidebar/index.js\";\n\nconst SidebarMenuItemBase = ({\n children,\n className,\n pinnable,\n action,\n ...buttonProps\n}: SidebarMenuItemProps) => {\n const { currentLevel, parentIcon } = useSidebarMenu();\n const sidebar = useSidebar();\n const [showChevron, setShowChevron] = useState(false);\n\n const menuItemId = useMemo(() => {\n return btoa(`sidebar-item-${currentLevel}-${buttonProps.text}`);\n }, [buttonProps.text, currentLevel]);\n\n const isSectionExpanded = useMemo(() => {\n return sidebar.isSectionExpanded(menuItemId);\n }, [sidebar.expandedSections]);\n\n const toggleSectionExpanded = useCallback(() => {\n sidebar.toggleSectionExpanded(menuItemId);\n }, [isSectionExpanded]);\n\n useEffect(() => {\n if (sidebar.expanded) {\n const timer = setTimeout(() => {\n setShowChevron(true);\n }, 100);\n return () => clearTimeout(timer);\n }\n setShowChevron(false);\n return undefined;\n }, [sidebar.expanded]);\n\n const isPinned = sidebar.isItemPinned(menuItemId);\n\n // Icon to use when this item is pinned\n const pinnedItemIcon = useMemo(() => {\n if (buttonProps.pinnedIcon) {\n return buttonProps.pinnedIcon;\n }\n\n return buttonProps.icon || parentIcon;\n }, [buttonProps.pinnedIcon, buttonProps.icon, parentIcon]);\n\n // Register when pinned, unregister when unpinned\n // Re-register when active state changes to keep pinned items in sync\n useEffect(() => {\n if (pinnable && isPinned) {\n sidebar.registerPinnedItem({\n id: menuItemId,\n text: buttonProps.text,\n icon: pinnedItemIcon,\n to: buttonProps.to,\n onClick: buttonProps.onClick,\n active: buttonProps.active\n });\n } else if (pinnable && !isPinned) {\n // Only unregister if this item is explicitly unpinned\n sidebar.unregisterPinnedItem(menuItemId);\n }\n }, [pinnable, isPinned, pinnedItemIcon, menuItemId, buttonProps.active]);\n\n const pinAction = useMemo(() => {\n if (!pinnable) {\n return action;\n }\n\n const handlePinClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (isPinned) {\n sidebar.unregisterPinnedItem(menuItemId);\n } else {\n sidebar.registerPinnedItem({\n id: menuItemId,\n text: buttonProps.text,\n icon: pinnedItemIcon,\n to: buttonProps.to,\n onClick: buttonProps.onClick,\n active: buttonProps.active\n });\n }\n\n sidebar.toggleItemPinned(menuItemId);\n };\n\n const pinButton = (\n <SidebarMenuItemAction\n element={isPinned ? <UnPinIcon /> : <PinIcon />}\n onClick={handlePinClick}\n showOnHover={true}\n />\n );\n\n // If there's a custom action, combine them\n // Don't modify the custom action - it should keep its original behavior\n if (action) {\n return (\n <div className=\"flex items-center gap-xs\">\n {pinButton}\n {action}\n </div>\n );\n }\n\n return pinButton;\n }, [pinnable, isPinned, pinnedItemIcon, action, sidebar, menuItemId]);\n\n const sidebarMenuButton = useMemo(() => {\n if (!children) {\n return <SidebarMenuRootButton {...buttonProps} action={pinAction} />;\n }\n\n const chevron = showChevron ? (\n <Icon\n label={\"Expand / Collapse\"}\n size={\"sm\"}\n className={\n \"ml-auto transition-transform duration-100 group-data-[state=open]/menu-item-collapsible:rotate-180 group-data-[state=collapsed]:hidden\"\n }\n color={\"neutral-strong\"}\n data-sidebar={\"menu-item-expanded-indicator\"}\n icon={<KeyboardArrowRightIcon />}\n />\n ) : null;\n\n const collapsibleAction = pinnable ? (\n <div className=\"flex items-center gap-xs\">\n {pinAction}\n {chevron}\n </div>\n ) : (\n chevron\n );\n\n return (\n <Collapsible.Root\n className={cn(\"w-full group/menu-item-collapsible\")}\n open={isSectionExpanded}\n onOpenChange={toggleSectionExpanded}\n >\n <Collapsible.Trigger asChild>\n <SidebarMenuRootButton {...buttonProps} action={collapsibleAction} />\n </Collapsible.Trigger>\n <Collapsible.Content forceMount className={\"hidden data-[state=open]:block!\"}>\n <SidebarMenuSub parentIcon={buttonProps.icon}>{children}</SidebarMenuSub>\n </Collapsible.Content>\n </Collapsible.Root>\n );\n }, [\n children,\n buttonProps,\n menuItemId,\n isSectionExpanded,\n toggleSectionExpanded,\n showChevron,\n pinnable,\n pinAction\n ]);\n\n return (\n <li\n data-sidebar=\"menu-item\"\n className={cn(\n \"group/menu-item relative px-xs-plus\",\n\n // When the sidebar is collapsed, this ensures that the sidebar menu item is highlighted\n // if it contains an active child (no matter how deep in the hierarchy).\n \"group-data-[state=collapsed]:[&:has([data-active=true])_[data-sidebar=menu-button]_svg]:fill-neutral-xstrong!\",\n \"group-data-[state=collapsed]:[&:has([data-active=true])_[data-sidebar=menu-button]]:bg-neutral-dark/5!\",\n className\n )}\n >\n {sidebarMenuButton}\n </li>\n );\n};\n\nconst DecoratableSidebarMenuItem = makeDecoratable(\"SidebarMenuItem\", SidebarMenuItemBase);\n\nconst SidebarMenuRootItem = withStaticProps(DecoratableSidebarMenuItem, {\n Icon: SidebarMenuItemIcon,\n Action: SidebarMenuItemAction\n});\n\nexport { SidebarMenuRootItem, type SidebarMenuItemProps };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AACxE,SAASC,EAAE,EAAEC,eAAe,EAAEC,eAAe;AAC7C,SAASC,qBAAqB;AAC9B,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,cAAc;AACvB,SAASC,WAAW,QAAQ,UAAU;AACtC,SAASC,IAAI;AACb,SAASC,cAAc,IAAIC,sBAAsB,QAAQ,uCAAuC;AAChG,SAASD,cAAc,IAAIE,OAAO,QAAQ,4BAA4B;AACtE,SAASF,cAAc,IAAIG,SAAS,QAAQ,gCAAgC;AAE5E,SAASC,cAAc;AACvB,SAASC,UAAU;AAEnB,MAAMC,mBAAmB,GAAGA,CAAC;EACzBC,QAAQ;EACRC,SAAS;EACTC,QAAQ;EACRC,MAAM;EACN,GAAGC;AACe,CAAC,KAAK;EACxB,MAAM;IAAEC,YAAY;IAAEC;EAAW,CAAC,GAAGT,cAAc,CAAC,CAAC;EACrD,MAAMU,OAAO,GAAGT,UAAU,CAAC,CAAC;EAC5B,MAAM,CAACU,WAAW,EAAEC,cAAc,CAAC,GAAG3B,QAAQ,CAAC,KAAK,CAAC;EAErD,MAAM4B,UAAU,GAAG7B,OAAO,CAAC,MAAM;IAC7B,OAAO8B,IAAI,CAAC,gBAAgBN,YAAY,IAAID,WAAW,CAACQ,IAAI,EAAE,CAAC;EACnE,CAAC,EAAE,CAACR,WAAW,CAACQ,IAAI,EAAEP,YAAY,CAAC,CAAC;EAEpC,MAAMQ,iBAAiB,GAAGhC,OAAO,CAAC,MAAM;IACpC,OAAO0B,OAAO,CAACM,iBAAiB,CAACH,UAAU,CAAC;EAChD,CAAC,EAAE,CAACH,OAAO,CAACO,gBAAgB,CAAC,CAAC;EAE9B,MAAMC,qBAAqB,GAAGnC,WAAW,CAAC,MAAM;IAC5C2B,OAAO,CAACQ,qBAAqB,CAACL,UAAU,CAAC;EAC7C,CAAC,EAAE,CAACG,iBAAiB,CAAC,CAAC;EAEvB9B,SAAS,CAAC,MAAM;IACZ,IAAIwB,OAAO,CAACS,QAAQ,EAAE;MAClB,MAAMC,KAAK,GAAGC,UAAU,CAAC,MAAM;QAC3BT,cAAc,CAAC,IAAI,CAAC;MACxB,CAAC,EAAE,GAAG,CAAC;MACP,OAAO,MAAMU,YAAY,CAACF,KAAK,CAAC;IACpC;IACAR,cAAc,CAAC,KAAK,CAAC;IACrB,OAAOW,SAAS;EACpB,CAAC,EAAE,CAACb,OAAO,CAACS,QAAQ,CAAC,CAAC;EAEtB,MAAMK,QAAQ,GAAGd,OAAO,CAACe,YAAY,CAACZ,UAAU,CAAC;;EAEjD;EACA,MAAMa,cAAc,GAAG1C,OAAO,CAAC,MAAM;IACjC,IAAIuB,WAAW,CAACoB,UAAU,EAAE;MACxB,OAAOpB,WAAW,CAACoB,UAAU;IACjC;IAEA,OAAOpB,WAAW,CAACqB,IAAI,IAAInB,UAAU;EACzC,CAAC,EAAE,CAACF,WAAW,CAACoB,UAAU,EAAEpB,WAAW,CAACqB,IAAI,EAAEnB,UAAU,CAAC,CAAC;;EAE1D;EACA;EACAvB,SAAS,CAAC,MAAM;IACZ,IAAImB,QAAQ,IAAImB,QAAQ,EAAE;MACtBd,OAAO,CAACmB,kBAAkB,CAAC;QACvBC,EAAE,EAAEjB,UAAU;QACdE,IAAI,EAAER,WAAW,CAACQ,IAAI;QACtBa,IAAI,EAAEF,cAAc;QACpBK,EAAE,EAAExB,WAAW,CAACwB,EAAE;QAClBC,OAAO,EAAEzB,WAAW,CAACyB,OAAO;QAC5BC,MAAM,EAAE1B,WAAW,CAAC0B;MACxB,CAAC,CAAC;IACN,CAAC,MAAM,IAAI5B,QAAQ,IAAI,CAACmB,QAAQ,EAAE;MAC9B;MACAd,OAAO,CAACwB,oBAAoB,CAACrB,UAAU,CAAC;IAC5C;EACJ,CAAC,EAAE,CAACR,QAAQ,EAAEmB,QAAQ,EAAEE,cAAc,EAAEb,UAAU,EAAEN,WAAW,CAAC0B,MAAM,CAAC,CAAC;EAExE,MAAME,SAAS,GAAGnD,OAAO,CAAC,MAAM;IAC5B,IAAI,CAACqB,QAAQ,EAAE;MACX,OAAOC,MAAM;IACjB;IAEA,MAAM8B,cAAc,GAAIC,CAAmB,IAAK;MAC5CA,CAAC,CAACC,eAAe,CAAC,CAAC;MACnBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAElB,IAAIf,QAAQ,EAAE;QACVd,OAAO,CAACwB,oBAAoB,CAACrB,UAAU,CAAC;MAC5C,CAAC,MAAM;QACHH,OAAO,CAACmB,kBAAkB,CAAC;UACvBC,EAAE,EAAEjB,UAAU;UACdE,IAAI,EAAER,WAAW,CAACQ,IAAI;UACtBa,IAAI,EAAEF,cAAc;UACpBK,EAAE,EAAExB,WAAW,CAACwB,EAAE;UAClBC,OAAO,EAAEzB,WAAW,CAACyB,OAAO;UAC5BC,MAAM,EAAE1B,WAAW,CAAC0B;QACxB,CAAC,CAAC;MACN;MAEAvB,OAAO,CAAC8B,gBAAgB,CAAC3B,UAAU,CAAC;IACxC,CAAC;IAED,MAAM4B,SAAS,gBACX3D,KAAA,CAAA4D,aAAA,CAAClD,qBAAqB;MAClBmD,OAAO,EAAEnB,QAAQ,gBAAG1C,KAAA,CAAA4D,aAAA,CAAC3C,SAAS,MAAE,CAAC,gBAAGjB,KAAA,CAAA4D,aAAA,CAAC5C,OAAO,MAAE,CAAE;MAChDkC,OAAO,EAAEI,cAAe;MACxBQ,WAAW,EAAE;IAAK,CACrB,CACJ;;IAED;IACA;IACA,IAAItC,MAAM,EAAE;MACR,oBACIxB,KAAA,CAAA4D,aAAA;QAAKtC,SAAS,EAAC;MAA0B,GACpCqC,SAAS,EACTnC,MACA,CAAC;IAEd;IAEA,OAAOmC,SAAS;EACpB,CAAC,EAAE,CAACpC,QAAQ,EAAEmB,QAAQ,EAAEE,cAAc,EAAEpB,MAAM,EAAEI,OAAO,EAAEG,UAAU,CAAC,CAAC;EAErE,MAAMgC,iBAAiB,GAAG7D,OAAO,CAAC,MAAM;IACpC,IAAI,CAACmB,QAAQ,EAAE;MACX,oBAAOrB,KAAA,CAAA4D,aAAA,CAACpD,qBAAqB,EAAAwD,MAAA,CAAAC,MAAA,KAAKxC,WAAW;QAAED,MAAM,EAAE6B;MAAU,EAAE,CAAC;IACxE;IAEA,MAAMa,OAAO,GAAGrC,WAAW,gBACvB7B,KAAA,CAAA4D,aAAA,CAAC/C,IAAI;MACDsD,KAAK,EAAE,mBAAoB;MAC3BC,IAAI,EAAE,IAAK;MACX9C,SAAS,EACL,wIACH;MACD+C,KAAK,EAAE,gBAAiB;MACxB,gBAAc,8BAA+B;MAC7CvB,IAAI,eAAE9C,KAAA,CAAA4D,aAAA,CAAC7C,sBAAsB,MAAE;IAAE,CACpC,CAAC,GACF,IAAI;IAER,MAAMuD,iBAAiB,GAAG/C,QAAQ,gBAC9BvB,KAAA,CAAA4D,aAAA;MAAKtC,SAAS,EAAC;IAA0B,GACpC+B,SAAS,EACTa,OACA,CAAC,GAENA,OACH;IAED,oBACIlE,KAAA,CAAA4D,aAAA,CAAChD,WAAW,CAAC2D,IAAI;MACbjD,SAAS,EAAEjB,EAAE,CAAC,oCAAoC,CAAE;MACpDmE,IAAI,EAAEtC,iBAAkB;MACxBuC,YAAY,EAAErC;IAAsB,gBAEpCpC,KAAA,CAAA4D,aAAA,CAAChD,WAAW,CAAC8D,OAAO;MAACC,OAAO;IAAA,gBACxB3E,KAAA,CAAA4D,aAAA,CAACpD,qBAAqB,EAAAwD,MAAA,CAAAC,MAAA,KAAKxC,WAAW;MAAED,MAAM,EAAE8C;IAAkB,EAAE,CACnD,CAAC,eACtBtE,KAAA,CAAA4D,aAAA,CAAChD,WAAW,CAACgE,OAAO;MAACC,UAAU;MAACvD,SAAS,EAAE;IAAkC,gBACzEtB,KAAA,CAAA4D,aAAA,CAACjD,cAAc;MAACgB,UAAU,EAAEF,WAAW,CAACqB;IAAK,GAAEzB,QAAyB,CACvD,CACP,CAAC;EAE3B,CAAC,EAAE,CACCA,QAAQ,EACRI,WAAW,EACXM,UAAU,EACVG,iBAAiB,EACjBE,qBAAqB,EACrBP,WAAW,EACXN,QAAQ,EACR8B,SAAS,CACZ,CAAC;EAEF,oBACIrD,KAAA,CAAA4D,aAAA;IACI,gBAAa,WAAW;IACxBtC,SAAS,EAAEjB,EAAE,CACT,qCAAqC;IAErC;IACA;IACA,+GAA+G,EAC/G,wGAAwG,EACxGiB,SACJ;EAAE,GAEDyC,iBACD,CAAC;AAEb,CAAC;AAED,MAAMe,0BAA0B,GAAGxE,eAAe,CAAC,iBAAiB,EAAEc,mBAAmB,CAAC;AAE1F,MAAM2D,mBAAmB,GAAGxE,eAAe,CAACuE,0BAA0B,EAAE;EACpEjE,IAAI,EAAEJ,mBAAmB;EACzBuE,MAAM,EAAEtE;AACZ,CAAC,CAAC;AAEF,SAASqE,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useMemo","useState","useEffect","cn","makeDecoratable","withStaticProps","SidebarMenuRootButton","SidebarMenuItemIcon","SidebarMenuItemAction","SidebarMenuSub","Collapsible","Icon","ReactComponent","KeyboardArrowRightIcon","PinIcon","UnPinIcon","useSidebarMenu","useSidebar","SidebarMenuItemBase","children","className","pinnable","action","buttonProps","currentLevel","parentIcon","sidebar","showChevron","setShowChevron","menuItemId","btoa","text","isSectionExpanded","expandedSections","toggleSectionExpanded","expanded","timer","setTimeout","clearTimeout","undefined","isPinned","isItemPinned","pinnedItemIcon","pinnedIcon","icon","registerPinnedItem","id","to","onClick","active","unregisterPinnedItem","pinAction","handlePinClick","e","stopPropagation","preventDefault","toggleItemPinned","pinButton","createElement","element","showOnHover","sidebarMenuButton","Object","assign","chevron","label","size","color","collapsibleAction","Root","open","onOpenChange","Trigger","asChild","Content","forceMount","DecoratableSidebarMenuItem","SidebarMenuRootItem","Action"],"sources":["SidebarMenuRootItem.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState, useEffect } from \"react\";\nimport { cn, makeDecoratable, withStaticProps } from \"~/utils.js\";\nimport { SidebarMenuRootButton } from \"./SidebarMenuRootButton.js\";\nimport { SidebarMenuItemIcon } from \"./SidebarMenuItemIcon.js\";\nimport { SidebarMenuItemAction } from \"./SidebarMenuItemAction.js\";\nimport { SidebarMenuSub } from \"./SidebarMenuSub.js\";\nimport { Collapsible } from \"radix-ui\";\nimport { Icon } from \"~/Icon/index.js\";\nimport { ReactComponent as KeyboardArrowRightIcon } from \"@webiny/icons/keyboard_arrow_down.svg\";\nimport { ReactComponent as PinIcon } from \"@webiny/icons/push_pin.svg\";\nimport { ReactComponent as UnPinIcon } from \"@webiny/icons/push_pin_off.svg\";\nimport { type SidebarMenuItemProps } from \"./SidebarMenuItem.js\";\nimport { useSidebarMenu } from \"~/Sidebar/components/items/SidebarMenuProvider.js\";\nimport { useSidebar } from \"~/Sidebar/index.js\";\n\nconst SidebarMenuItemBase = ({\n children,\n className,\n pinnable,\n action,\n ...buttonProps\n}: SidebarMenuItemProps) => {\n const { currentLevel, parentIcon } = useSidebarMenu();\n const sidebar = useSidebar();\n const [showChevron, setShowChevron] = useState(false);\n\n const menuItemId = useMemo(() => {\n return btoa(`sidebar-item-${currentLevel}-${buttonProps.text}`);\n }, [buttonProps.text, currentLevel]);\n\n const isSectionExpanded = useMemo(() => {\n return sidebar.isSectionExpanded(menuItemId);\n }, [sidebar.expandedSections]);\n\n const toggleSectionExpanded = useCallback(() => {\n sidebar.toggleSectionExpanded(menuItemId);\n }, [isSectionExpanded]);\n\n useEffect(() => {\n if (sidebar.expanded) {\n const timer = setTimeout(() => {\n setShowChevron(true);\n }, 100);\n return () => clearTimeout(timer);\n }\n setShowChevron(false);\n return undefined;\n }, [sidebar.expanded]);\n\n const isPinned = sidebar.isItemPinned(menuItemId);\n\n // Icon to use when this item is pinned\n const pinnedItemIcon = useMemo(() => {\n if (buttonProps.pinnedIcon) {\n return buttonProps.pinnedIcon;\n }\n\n return buttonProps.icon || parentIcon;\n }, [buttonProps.pinnedIcon, buttonProps.icon, parentIcon]);\n\n // Register when pinned, unregister when unpinned\n // Re-register when active state changes to keep pinned items in sync\n useEffect(() => {\n if (pinnable && isPinned) {\n sidebar.registerPinnedItem({\n id: menuItemId,\n text: buttonProps.text,\n icon: pinnedItemIcon,\n to: buttonProps.to,\n onClick: buttonProps.onClick,\n active: buttonProps.active\n });\n } else if (pinnable && !isPinned) {\n // Only unregister if this item is explicitly unpinned\n sidebar.unregisterPinnedItem(menuItemId);\n }\n }, [pinnable, isPinned, pinnedItemIcon, menuItemId, buttonProps.active]);\n\n const pinAction = useMemo(() => {\n if (!pinnable) {\n return action;\n }\n\n const handlePinClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n if (isPinned) {\n sidebar.unregisterPinnedItem(menuItemId);\n } else {\n sidebar.registerPinnedItem({\n id: menuItemId,\n text: buttonProps.text,\n icon: pinnedItemIcon,\n to: buttonProps.to,\n onClick: buttonProps.onClick,\n active: buttonProps.active\n });\n }\n\n sidebar.toggleItemPinned(menuItemId);\n };\n\n const pinButton = (\n <SidebarMenuItemAction\n element={isPinned ? <UnPinIcon /> : <PinIcon />}\n onClick={handlePinClick}\n showOnHover={true}\n />\n );\n\n // If there's a custom action, combine them\n // Don't modify the custom action - it should keep its original behavior\n if (action) {\n return (\n <div className=\"flex items-center gap-xs\">\n {pinButton}\n {action}\n </div>\n );\n }\n\n return pinButton;\n }, [pinnable, isPinned, pinnedItemIcon, action, sidebar, menuItemId]);\n\n const sidebarMenuButton = useMemo(() => {\n if (!children) {\n return <SidebarMenuRootButton {...buttonProps} action={pinAction} />;\n }\n\n const chevron = showChevron ? (\n <Icon\n label={\"Expand / Collapse\"}\n size={\"sm\"}\n className={\n \"ml-auto transition-transform duration-100 group-data-[state=open]/menu-item-collapsible:rotate-180 group-data-[state=collapsed]:hidden\"\n }\n color={\"neutral-strong\"}\n data-sidebar={\"menu-item-expanded-indicator\"}\n icon={<KeyboardArrowRightIcon />}\n onClick={toggleSectionExpanded}\n />\n ) : null;\n\n const collapsibleAction = pinnable ? (\n <div className=\"flex items-center gap-xs\">\n {pinAction}\n {chevron}\n </div>\n ) : (\n chevron\n );\n\n return (\n <Collapsible.Root\n className={cn(\"w-full group/menu-item-collapsible\")}\n open={isSectionExpanded}\n onOpenChange={toggleSectionExpanded}\n >\n <Collapsible.Trigger asChild>\n <SidebarMenuRootButton {...buttonProps} action={collapsibleAction} />\n </Collapsible.Trigger>\n <Collapsible.Content forceMount className={\"hidden data-[state=open]:block!\"}>\n <SidebarMenuSub parentIcon={buttonProps.icon}>{children}</SidebarMenuSub>\n </Collapsible.Content>\n </Collapsible.Root>\n );\n }, [\n children,\n buttonProps,\n menuItemId,\n isSectionExpanded,\n toggleSectionExpanded,\n showChevron,\n pinnable,\n pinAction\n ]);\n\n return (\n <li\n data-sidebar=\"menu-item\"\n className={cn(\n \"group/menu-item relative px-xs-plus\",\n\n // When the sidebar is collapsed, this ensures that the sidebar menu item is highlighted\n // if it contains an active child (no matter how deep in the hierarchy).\n \"group-data-[state=collapsed]:[&:has([data-active=true])_[data-sidebar=menu-button]_svg]:fill-neutral-xstrong!\",\n \"group-data-[state=collapsed]:[&:has([data-active=true])_[data-sidebar=menu-button]]:bg-neutral-dark/5!\",\n className\n )}\n >\n {sidebarMenuButton}\n </li>\n );\n};\n\nconst DecoratableSidebarMenuItem = makeDecoratable(\"SidebarMenuItem\", SidebarMenuItemBase);\n\nconst SidebarMenuRootItem = withStaticProps(DecoratableSidebarMenuItem, {\n Icon: SidebarMenuItemIcon,\n Action: SidebarMenuItemAction\n});\n\nexport { SidebarMenuRootItem, type SidebarMenuItemProps };\n"],"mappings":"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","ignoreList":[]}
@@ -18,7 +18,7 @@ const SidebarMenuSubButton = ({
18
18
  active,
19
19
  disabled,
20
20
  icon,
21
- // eslint-disable-next-line
21
+ // oxlint-disable-next-line
22
22
  pinnedIcon,
23
23
  action,
24
24
  text,
@@ -1 +1 @@
1
- {"version":3,"names":["React","cva","DivButton","useAdminUi","variants","variant","disabled","true","SidebarMenuSubButton","onClick","active","icon","pinnedIcon","action","text","className","to","linkProps","linkComponent","LinkComponent","sharedProps","content","createElement","Object","assign","tabIndex","undefined"],"sources":["SidebarMenuSubButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { cva } from \"~/utils.js\";\nimport type { SidebarMenuItemProps } from \"./SidebarMenuRootItem.js\";\nimport { DivButton } from \"./DivButton.js\";\nimport { DistributedOmit } from \"type-fest\";\nimport { useAdminUi } from \"~/index.js\";\n\nconst variants = cva(\n [\n \"flex w-full cursor-pointer items-center gap-sm\",\n \"text-md text-neutral-primary no-underline!\",\n \"rounded-md p-xs-plus pr-sm outline-none\",\n \"whitespace-nowrap overflow-hidden\",\n \"hover:bg-neutral-dark/5\",\n \"group-hover/menu-sub-button:bg-neutral-dark/5\",\n \"focus:bg-neutral-dark/5 focus:ring-none focus:ring-transparent\",\n \"data-[active=true]:bg-neutral-dark/5 data-[active=true]:font-semibold data-[active=true]:pointer-events-none\",\n \"group-data-[state=collapsed]:hidden\"\n ],\n {\n variants: {\n variant: {\n \"group-label\": [\n \"uppercase font-semibold text-neutral-muted! text-sm\",\n \"pt-md pb-xs-plus pointer-events-none\",\n \"hover:bg-transparent! group-hover/menu-sub-button:bg-transparent! focus:bg-transparent! cursor-default!\"\n ]\n },\n disabled: {\n true: \"pointer-events-none text-neutral-disabled!\"\n }\n }\n }\n);\n\ntype SidebarMenuSubButtonProps = DistributedOmit<SidebarMenuItemProps, \"children\">;\n\nconst SidebarMenuSubButton = ({\n onClick,\n variant,\n active,\n disabled,\n icon,\n\n // eslint-disable-next-line\n pinnedIcon,\n\n action,\n text,\n className,\n to,\n ...linkProps\n}: SidebarMenuSubButtonProps) => {\n const { linkComponent: LinkComponent } = useAdminUi();\n\n const sharedProps = {\n \"data-sidebar\": \"menu-sub-button\",\n \"data-active\": active,\n className: variants({ variant, disabled, className }),\n onClick\n };\n\n const content = to ? (\n <LinkComponent {...sharedProps} to={to} {...linkProps}>\n {icon}\n {text}\n </LinkComponent>\n ) : (\n // We can't use the default button element here because the content of the button\n // can also contain a button, which is not allowed in HTML.\n <DivButton\n {...sharedProps}\n disabled={disabled}\n tabIndex={variant === \"group-label\" ? -1 : undefined}\n >\n {icon}\n {text}\n </DivButton>\n );\n\n return (\n <div className={\"flex items-center w-full relative group/menu-sub-button\"}>\n {content}\n\n {action && (\n <div className=\"absolute top-0 right-0 mr-sm h-full flex items-center\">\n {action}\n </div>\n )}\n </div>\n );\n};\n\nexport { SidebarMenuSubButton };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG;AAEZ,SAASC,SAAS;AAElB,SAASC,UAAU;AAEnB,MAAMC,QAAQ,GAAGH,GAAG,CAChB,CACI,gDAAgD,EAChD,4CAA4C,EAC5C,yCAAyC,EACzC,mCAAmC,EACnC,yBAAyB,EACzB,+CAA+C,EAC/C,gEAAgE,EAChE,8GAA8G,EAC9G,qCAAqC,CACxC,EACD;EACIG,QAAQ,EAAE;IACNC,OAAO,EAAE;MACL,aAAa,EAAE,CACX,qDAAqD,EACrD,sCAAsC,EACtC,yGAAyG;IAEjH,CAAC;IACDC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ;AACJ,CACJ,CAAC;AAID,MAAMC,oBAAoB,GAAGA,CAAC;EAC1BC,OAAO;EACPJ,OAAO;EACPK,MAAM;EACNJ,QAAQ;EACRK,IAAI;EAEJ;EACAC,UAAU;EAEVC,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC,EAAE;EACF,GAAGC;AACoB,CAAC,KAAK;EAC7B,MAAM;IAAEC,aAAa,EAAEC;EAAc,CAAC,GAAGhB,UAAU,CAAC,CAAC;EAErD,MAAMiB,WAAW,GAAG;IAChB,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAEV,MAAM;IACrBK,SAAS,EAAEX,QAAQ,CAAC;MAAEC,OAAO;MAAEC,QAAQ;MAAES;IAAU,CAAC,CAAC;IACrDN;EACJ,CAAC;EAED,MAAMY,OAAO,GAAGL,EAAE,gBACdhB,KAAA,CAAAsB,aAAA,CAACH,aAAa,EAAAI,MAAA,CAAAC,MAAA,KAAKJ,WAAW;IAAEJ,EAAE,EAAEA;EAAG,GAAKC,SAAS,GAChDN,IAAI,EACJG,IACU,CAAC;EAAA;EAEhB;EACA;EACAd,KAAA,CAAAsB,aAAA,CAACpB,SAAS,EAAAqB,MAAA,CAAAC,MAAA,KACFJ,WAAW;IACfd,QAAQ,EAAEA,QAAS;IACnBmB,QAAQ,EAAEpB,OAAO,KAAK,aAAa,GAAG,CAAC,CAAC,GAAGqB;EAAU,IAEpDf,IAAI,EACJG,IACM,CACd;EAED,oBACId,KAAA,CAAAsB,aAAA;IAAKP,SAAS,EAAE;EAA0D,GACrEM,OAAO,EAEPR,MAAM,iBACHb,KAAA,CAAAsB,aAAA;IAAKP,SAAS,EAAC;EAAuD,GACjEF,MACA,CAER,CAAC;AAEd,CAAC;AAED,SAASL,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["React","cva","DivButton","useAdminUi","variants","variant","disabled","true","SidebarMenuSubButton","onClick","active","icon","pinnedIcon","action","text","className","to","linkProps","linkComponent","LinkComponent","sharedProps","content","createElement","Object","assign","tabIndex","undefined"],"sources":["SidebarMenuSubButton.tsx"],"sourcesContent":["import React from \"react\";\nimport { cva } from \"~/utils.js\";\nimport type { SidebarMenuItemProps } from \"./SidebarMenuRootItem.js\";\nimport { DivButton } from \"./DivButton.js\";\nimport { DistributedOmit } from \"type-fest\";\nimport { useAdminUi } from \"~/index.js\";\n\nconst variants = cva(\n [\n \"flex w-full cursor-pointer items-center gap-sm\",\n \"text-md text-neutral-primary no-underline!\",\n \"rounded-md p-xs-plus pr-sm outline-none\",\n \"whitespace-nowrap overflow-hidden\",\n \"hover:bg-neutral-dark/5\",\n \"group-hover/menu-sub-button:bg-neutral-dark/5\",\n \"focus:bg-neutral-dark/5 focus:ring-none focus:ring-transparent\",\n \"data-[active=true]:bg-neutral-dark/5 data-[active=true]:font-semibold data-[active=true]:pointer-events-none\",\n \"group-data-[state=collapsed]:hidden\"\n ],\n {\n variants: {\n variant: {\n \"group-label\": [\n \"uppercase font-semibold text-neutral-muted! text-sm\",\n \"pt-md pb-xs-plus pointer-events-none\",\n \"hover:bg-transparent! group-hover/menu-sub-button:bg-transparent! focus:bg-transparent! cursor-default!\"\n ]\n },\n disabled: {\n true: \"pointer-events-none text-neutral-disabled!\"\n }\n }\n }\n);\n\ntype SidebarMenuSubButtonProps = DistributedOmit<SidebarMenuItemProps, \"children\">;\n\nconst SidebarMenuSubButton = ({\n onClick,\n variant,\n active,\n disabled,\n icon,\n\n // oxlint-disable-next-line\n pinnedIcon,\n\n action,\n text,\n className,\n to,\n ...linkProps\n}: SidebarMenuSubButtonProps) => {\n const { linkComponent: LinkComponent } = useAdminUi();\n\n const sharedProps = {\n \"data-sidebar\": \"menu-sub-button\",\n \"data-active\": active,\n className: variants({ variant, disabled, className }),\n onClick\n };\n\n const content = to ? (\n <LinkComponent {...sharedProps} to={to} {...linkProps}>\n {icon}\n {text}\n </LinkComponent>\n ) : (\n // We can't use the default button element here because the content of the button\n // can also contain a button, which is not allowed in HTML.\n <DivButton\n {...sharedProps}\n disabled={disabled}\n tabIndex={variant === \"group-label\" ? -1 : undefined}\n >\n {icon}\n {text}\n </DivButton>\n );\n\n return (\n <div className={\"flex items-center w-full relative group/menu-sub-button\"}>\n {content}\n\n {action && (\n <div className=\"absolute top-0 right-0 mr-sm h-full flex items-center\">\n {action}\n </div>\n )}\n </div>\n );\n};\n\nexport { SidebarMenuSubButton };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG;AAEZ,SAASC,SAAS;AAElB,SAASC,UAAU;AAEnB,MAAMC,QAAQ,GAAGH,GAAG,CAChB,CACI,gDAAgD,EAChD,4CAA4C,EAC5C,yCAAyC,EACzC,mCAAmC,EACnC,yBAAyB,EACzB,+CAA+C,EAC/C,gEAAgE,EAChE,8GAA8G,EAC9G,qCAAqC,CACxC,EACD;EACIG,QAAQ,EAAE;IACNC,OAAO,EAAE;MACL,aAAa,EAAE,CACX,qDAAqD,EACrD,sCAAsC,EACtC,yGAAyG;IAEjH,CAAC;IACDC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV;EACJ;AACJ,CACJ,CAAC;AAID,MAAMC,oBAAoB,GAAGA,CAAC;EAC1BC,OAAO;EACPJ,OAAO;EACPK,MAAM;EACNJ,QAAQ;EACRK,IAAI;EAEJ;EACAC,UAAU;EAEVC,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC,EAAE;EACF,GAAGC;AACoB,CAAC,KAAK;EAC7B,MAAM;IAAEC,aAAa,EAAEC;EAAc,CAAC,GAAGhB,UAAU,CAAC,CAAC;EAErD,MAAMiB,WAAW,GAAG;IAChB,cAAc,EAAE,iBAAiB;IACjC,aAAa,EAAEV,MAAM;IACrBK,SAAS,EAAEX,QAAQ,CAAC;MAAEC,OAAO;MAAEC,QAAQ;MAAES;IAAU,CAAC,CAAC;IACrDN;EACJ,CAAC;EAED,MAAMY,OAAO,GAAGL,EAAE,gBACdhB,KAAA,CAAAsB,aAAA,CAACH,aAAa,EAAAI,MAAA,CAAAC,MAAA,KAAKJ,WAAW;IAAEJ,EAAE,EAAEA;EAAG,GAAKC,SAAS,GAChDN,IAAI,EACJG,IACU,CAAC;EAAA;EAEhB;EACA;EACAd,KAAA,CAAAsB,aAAA,CAACpB,SAAS,EAAAqB,MAAA,CAAAC,MAAA,KACFJ,WAAW;IACfd,QAAQ,EAAEA,QAAS;IACnBmB,QAAQ,EAAEpB,OAAO,KAAK,aAAa,GAAG,CAAC,CAAC,GAAGqB;EAAU,IAEpDf,IAAI,EACJG,IACM,CACd;EAED,oBACId,KAAA,CAAAsB,aAAA;IAAKP,SAAS,EAAE;EAA0D,GACrEM,OAAO,EAEPR,MAAM,iBACHb,KAAA,CAAAsB,aAAA;IAAKP,SAAS,EAAC;EAAuD,GACjEF,MACA,CAER,CAAC;AAEd,CAAC;AAED,SAASL,oBAAoB","ignoreList":[]}
package/Tabs/Tabs.js CHANGED
@@ -52,7 +52,7 @@ const DecoratableTabs = ({
52
52
  });
53
53
  },
54
54
  removeTab(id) {
55
- setTabs(tabs => tabs.filter(tab => tab.id === id));
55
+ setTabs(tabs => tabs.filter(tab => tab.id !== id));
56
56
  }
57
57
  }), [setTabs]);
58
58
  return /*#__PURE__*/React.createElement(Root, Object.assign({}, props, {
package/Tabs/Tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useState","Tabs","TabsPrimitive","makeDecoratable","withStaticProps","Content","List","Tab","TabsContext","Trigger","Root","DecoratableTabs","defaultValue","initialValue","size","spacing","separator","tabs","tabComponents","props","setTabs","find","tab","disabled","visible","value","triggers","createElement","key","map","id","join","icon","text","trigger","contents","content","className","context","addTab","existingIndex","findIndex","slice","removeTab","filter","Object","assign","Provider","BaseTabs"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\nimport { makeDecoratable, type VariantProps, withStaticProps } from \"~/utils.js\";\nimport type { ITabsContext, TabItem, TabProps, tabListVariants } from \"./components/index.js\";\nimport { Content, List, Tab, TabsContext, Trigger } from \"./components/index.js\";\n\nconst Root = TabsPrimitive.Root;\n\ninterface TabsProps extends Omit<TabsPrimitive.TabsProps, \"children\"> {\n tabs: React.ReactElement<TabProps>[];\n size?: VariantProps<typeof tabListVariants>[\"size\"];\n spacing?: VariantProps<typeof tabListVariants>[\"spacing\"];\n separator?: VariantProps<typeof tabListVariants>[\"separator\"];\n}\n\nconst DecoratableTabs = ({\n defaultValue: initialValue,\n size,\n spacing,\n separator,\n tabs: tabComponents,\n ...props\n}: TabsProps) => {\n const [tabs, setTabs] = useState<TabItem[]>([]);\n\n const defaultValue = useMemo(() => {\n // `defaultValue` prop works only at first render so we need to use the `tabComponents` instead of the `TabItems`\n return (\n initialValue ||\n tabComponents.find(tab => !tab.props.disabled && tab.props.visible !== false)?.props\n .value\n );\n }, [initialValue, tabComponents]);\n\n const triggers = useMemo(\n () => (\n // We need to generate a key like this to trigger a proper component re-render when child tabs change.\n <List\n key={tabs.map(tab => tab.id).join(\";\")}\n size={size}\n spacing={spacing}\n separator={separator}\n >\n {tabs.map(tab => (\n <Trigger\n data-testid={tab[\"data-testid\"]}\n disabled={tab.disabled}\n icon={tab.icon}\n key={tab.id}\n size={size}\n text={tab.trigger}\n value={tab.value}\n visible={tab.visible}\n />\n ))}\n </List>\n ),\n [tabs, size, spacing]\n );\n\n const contents = useMemo(\n () =>\n tabs.map(tab => (\n <Content\n key={tab.id}\n value={tab.value}\n content={tab.content}\n spacing={tab.spacing ?? spacing}\n className={tab.className}\n />\n )),\n [tabs, spacing]\n );\n\n const context: ITabsContext = useMemo(\n () => ({\n addTab(props) {\n setTabs(tabs => {\n const existingIndex = tabs.findIndex(tab => tab.value === props.value);\n if (existingIndex > -1) {\n return [\n ...tabs.slice(0, existingIndex),\n props,\n ...tabs.slice(existingIndex + 1)\n ];\n }\n return [...tabs, props];\n });\n },\n removeTab(id) {\n setTabs(tabs => tabs.filter(tab => tab.id === id));\n }\n }),\n [setTabs]\n );\n\n return (\n <Root {...props} defaultValue={defaultValue}>\n {triggers}\n {contents}\n <TabsContext.Provider value={context}>{tabComponents}</TabsContext.Provider>\n </Root>\n );\n};\n\nconst BaseTabs = makeDecoratable(\"Tabs\", DecoratableTabs);\n\nconst Tabs = withStaticProps(BaseTabs, {\n Tab\n});\n\nexport { Tabs, type TabsProps };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useState","Tabs","TabsPrimitive","makeDecoratable","withStaticProps","Content","List","Tab","TabsContext","Trigger","Root","DecoratableTabs","defaultValue","initialValue","size","spacing","separator","tabs","tabComponents","props","setTabs","find","tab","disabled","visible","value","triggers","createElement","key","map","id","join","icon","text","trigger","contents","content","className","context","addTab","existingIndex","findIndex","slice","removeTab","filter","Object","assign","Provider","BaseTabs"],"sources":["Tabs.tsx"],"sourcesContent":["import React, { useMemo, useState } from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\nimport { makeDecoratable, type VariantProps, withStaticProps } from \"~/utils.js\";\nimport type { ITabsContext, TabItem, TabProps, tabListVariants } from \"./components/index.js\";\nimport { Content, List, Tab, TabsContext, Trigger } from \"./components/index.js\";\n\nconst Root = TabsPrimitive.Root;\n\ninterface TabsProps extends Omit<TabsPrimitive.TabsProps, \"children\"> {\n tabs: React.ReactElement<TabProps>[];\n size?: VariantProps<typeof tabListVariants>[\"size\"];\n spacing?: VariantProps<typeof tabListVariants>[\"spacing\"];\n separator?: VariantProps<typeof tabListVariants>[\"separator\"];\n}\n\nconst DecoratableTabs = ({\n defaultValue: initialValue,\n size,\n spacing,\n separator,\n tabs: tabComponents,\n ...props\n}: TabsProps) => {\n const [tabs, setTabs] = useState<TabItem[]>([]);\n\n const defaultValue = useMemo(() => {\n // `defaultValue` prop works only at first render so we need to use the `tabComponents` instead of the `TabItems`\n return (\n initialValue ||\n tabComponents.find(tab => !tab.props.disabled && tab.props.visible !== false)?.props\n .value\n );\n }, [initialValue, tabComponents]);\n\n const triggers = useMemo(\n () => (\n // We need to generate a key like this to trigger a proper component re-render when child tabs change.\n <List\n key={tabs.map(tab => tab.id).join(\";\")}\n size={size}\n spacing={spacing}\n separator={separator}\n >\n {tabs.map(tab => (\n <Trigger\n data-testid={tab[\"data-testid\"]}\n disabled={tab.disabled}\n icon={tab.icon}\n key={tab.id}\n size={size}\n text={tab.trigger}\n value={tab.value}\n visible={tab.visible}\n />\n ))}\n </List>\n ),\n [tabs, size, spacing]\n );\n\n const contents = useMemo(\n () =>\n tabs.map(tab => (\n <Content\n key={tab.id}\n value={tab.value}\n content={tab.content}\n spacing={tab.spacing ?? spacing}\n className={tab.className}\n />\n )),\n [tabs, spacing]\n );\n\n const context: ITabsContext = useMemo(\n () => ({\n addTab(props) {\n setTabs(tabs => {\n const existingIndex = tabs.findIndex(tab => tab.value === props.value);\n if (existingIndex > -1) {\n return [\n ...tabs.slice(0, existingIndex),\n props,\n ...tabs.slice(existingIndex + 1)\n ];\n }\n return [...tabs, props];\n });\n },\n removeTab(id) {\n setTabs(tabs => tabs.filter(tab => tab.id !== id));\n }\n }),\n [setTabs]\n );\n\n return (\n <Root {...props} defaultValue={defaultValue}>\n {triggers}\n {contents}\n <TabsContext.Provider value={context}>{tabComponents}</TabsContext.Provider>\n </Root>\n );\n};\n\nconst BaseTabs = makeDecoratable(\"Tabs\", DecoratableTabs);\n\nconst Tabs = withStaticProps(BaseTabs, {\n Tab\n});\n\nexport { Tabs, type TabsProps };\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ export { FormComponentDescription, FormComponentLabel, FormComponentNote, FormComponentErrorMessage } from "../../FormComponent/index.js";
1
2
  export { Accordion } from "../../Accordion/index.js";
2
3
  export { Alert } from "../../Alert/index.js";
3
4
  export { AutoComplete } from "../../AutoComplete/index.js";
@@ -1,3 +1,5 @@
1
+ export { FormComponentDescription, FormComponentLabel, FormComponentNote, FormComponentErrorMessage } from "../../FormComponent/index.js";
2
+
1
3
  // Accordion
2
4
  export { Accordion } from "../../Accordion/index.js";
3
5
 
@@ -1 +1 @@
1
- {"version":3,"names":["Accordion","Alert","AutoComplete","Avatar","Button","CopyButton","IconButton","Card","Checkbox","CheckboxGroup","CodeEditor","ColorPicker","CloneIcon","CreateIcon","DataList","DataListModal","DataListWithSections","DeleteIcon","DownloadIcon","EditIcon","FilterIcon","ListIcon","LoginIcon","NextPageIcon","OptionsIcon","PreviousPageIcon","RefreshIcon","SortIcon","UploadIcon","DataTable","DelayedOnChange","Dialog","Drawer","DropdownMenu","DynamicFieldset","FilePicker","Grid","HeaderBar","Heading","Icon","IconPicker","Image","Input","Label","Link","List","Loader","OverlayLoader","MultiAutoComplete","MultiFilePicker","Portal","Popover","ProgressBar","Radio","RadioGroup","RangeSlider","Scrollbar","ScrollArea","ScrollBar","SegmentedControl","Select","Separator","Sidebar","SidebarProvider","useSidebar","Skeleton","Slider","SteppedProgress","Switch","Table","Tabs","Tag","Tags","Text","Textarea","TimeAgo","Toast","useToast","Tooltip","Tree","Widget","cn","cva","generateId","useDisclosure"],"sources":["ui.ts"],"sourcesContent":["// Accordion\nexport { Accordion } from \"~/Accordion/index.js\";\n\n// Alert\nexport { Alert } from \"~/Alert/index.js\";\n\n// AutoComplete\nexport { AutoComplete } from \"~/AutoComplete/index.js\";\n\n// Avatar\nexport { Avatar } from \"~/Avatar/index.js\";\n\n// Button\nexport { Button, CopyButton, IconButton } from \"~/Button/index.js\";\n\n// Card\nexport { Card } from \"~/Card/index.js\";\n\n// Checkbox\nexport { Checkbox } from \"~/Checkbox/index.js\";\n\n// CheckboxGroup\nexport { CheckboxGroup } from \"~/CheckboxGroup/index.js\";\n\n// CodeEditor\nexport { CodeEditor } from \"~/CodeEditor/index.js\";\n\n// ColorPicker\nexport { ColorPicker } from \"~/ColorPicker/index.js\";\n\n// DataList\nexport {\n CloneIcon,\n CreateIcon,\n DataList,\n DataListModal,\n DataListWithSections,\n DeleteIcon,\n DownloadIcon,\n EditIcon,\n FilterIcon,\n ListIcon,\n LoginIcon,\n NextPageIcon,\n OptionsIcon,\n PreviousPageIcon,\n RefreshIcon,\n SortIcon,\n UploadIcon\n} from \"~/DataList/index.js\";\n\n// DataTable\nexport { DataTable } from \"~/DataTable/index.js\";\n\n// DelayedOnChange\nexport { DelayedOnChange } from \"~/DelayedOnChange/index.js\";\n\n// Dialog\nexport { Dialog } from \"~/Dialog/index.js\";\n\n// Drawer\nexport { Drawer } from \"~/Drawer/index.js\";\n\n// DropdownMenu\nexport { DropdownMenu } from \"~/DropdownMenu/index.js\";\n\n// DynamicFieldset\nexport { DynamicFieldset } from \"~/DynamicFieldset/index.js\";\n\n// FilePicker\nexport { FilePicker } from \"~/FilePicker/index.js\";\n\n// Grid\nexport { Grid } from \"~/Grid/index.js\";\n\n// HeaderBar\nexport { HeaderBar } from \"~/HeaderBar/index.js\";\n\n// Heading\nexport { Heading } from \"~/Heading/index.js\";\n\n// Icon\nexport { Icon } from \"~/Icon/index.js\";\n\n// IconPicker\nexport { IconPicker } from \"~/IconPicker/index.js\";\n\n// Image\nexport { Image } from \"~/Image/index.js\";\n\n// Input\nexport { Input } from \"~/Input/index.js\";\n\n// Label\nexport { Label } from \"~/Label/index.js\";\n\n// Link\nexport { Link } from \"~/Link/index.js\";\n\n// List\nexport { List } from \"~/List/index.js\";\n\n// Loader\nexport { Loader, OverlayLoader } from \"~/Loader/index.js\";\n\n// MultiAutoComplete\nexport { MultiAutoComplete } from \"~/MultiAutoComplete/index.js\";\n\n// MultiFilePicker\nexport { MultiFilePicker } from \"~/MultiFilePicker/index.js\";\n\n// Portal\nexport { Portal } from \"~/Portal/index.js\";\n\n// Popover\nexport { Popover } from \"~/Popover/index.js\";\n\n// ProgressBar\nexport { ProgressBar } from \"~/ProgressBar/index.js\";\n\n// RadioGroup\nexport { Radio, RadioGroup } from \"~/RadioGroup/index.js\";\n\n// RangeSlider\nexport { RangeSlider } from \"~/RangeSlider/index.js\";\n\n// Scrollbar\nexport { Scrollbar } from \"~/Scrollbar/index.js\";\n\n// ScrollArea\nexport { ScrollArea, ScrollBar } from \"~/ScrollArea/index.js\";\n\n// SegmentedControl\nexport { SegmentedControl } from \"~/SegmentedControl/index.js\";\n\n// Select\nexport { Select } from \"~/Select/index.js\";\n\n// Separator\nexport { Separator } from \"~/Separator/index.js\";\n\n// Sidebar\nexport { Sidebar, SidebarProvider, useSidebar } from \"~/Sidebar/index.js\";\n\n// Skeleton\nexport { Skeleton } from \"~/Skeleton/index.js\";\n\n// Slider\nexport { Slider } from \"~/Slider/index.js\";\n\n// SteppedProgress\nexport { SteppedProgress } from \"~/SteppedProgress/index.js\";\n\n// Switch\nexport { Switch } from \"~/Switch/index.js\";\n\n// Table\nexport { Table } from \"~/Table/index.js\";\n\n// Tabs\nexport { Tabs } from \"~/Tabs/index.js\";\n\n// Tag\nexport { Tag } from \"~/Tag/index.js\";\n\n// Tags\nexport { Tags } from \"~/Tags/index.js\";\n\n// Text\nexport { Text } from \"~/Text/index.js\";\n\n// Textarea\nexport { Textarea } from \"~/Textarea/index.js\";\n\n// TimeAgo\nexport { TimeAgo } from \"~/TimeAgo/index.js\";\n\n// Toast\nexport { Toast, useToast } from \"~/Toast/index.js\";\n\n// Tooltip\nexport { Tooltip } from \"~/Tooltip/index.js\";\n\n// Tree\nexport { Tree } from \"~/Tree/index.js\";\n\n// Widget\nexport { Widget } from \"~/Widget/index.js\";\n\n// utils\nexport { cn, cva, generateId } from \"~/utils.js\";\n\n// hooks\nexport { useDisclosure } from \"~/hooks/index.js\";\n"],"mappings":"AAAA;AACA,SAASA,SAAS;;AAElB;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,YAAY;;AAErB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,MAAM,EAAEC,UAAU,EAAEC,UAAU;;AAEvC;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,aAAa;;AAEtB;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,WAAW;;AAEpB;AACA,SACIC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,aAAa,EACbC,oBAAoB,EACpBC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,gBAAgB,EAChBC,WAAW,EACXC,QAAQ,EACRC,UAAU;;AAGd;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,YAAY;;AAErB;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,MAAM,EAAEC,aAAa;;AAE9B;AACA,SAASC,iBAAiB;;AAE1B;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,WAAW;;AAEpB;AACA,SAASC,KAAK,EAAEC,UAAU;;AAE1B;AACA,SAASC,WAAW;;AAEpB;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,UAAU,EAAEC,SAAS;;AAE9B;AACA,SAASC,gBAAgB;;AAEzB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,OAAO,EAAEC,eAAe,EAAEC,UAAU;;AAE7C;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,GAAG;;AAEZ;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,KAAK,EAAEC,QAAQ;;AAExB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,EAAE,EAAEC,GAAG,EAAEC,UAAU;;AAE5B;AACA,SAASC,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["FormComponentDescription","FormComponentLabel","FormComponentNote","FormComponentErrorMessage","Accordion","Alert","AutoComplete","Avatar","Button","CopyButton","IconButton","Card","Checkbox","CheckboxGroup","CodeEditor","ColorPicker","CloneIcon","CreateIcon","DataList","DataListModal","DataListWithSections","DeleteIcon","DownloadIcon","EditIcon","FilterIcon","ListIcon","LoginIcon","NextPageIcon","OptionsIcon","PreviousPageIcon","RefreshIcon","SortIcon","UploadIcon","DataTable","DelayedOnChange","Dialog","Drawer","DropdownMenu","DynamicFieldset","FilePicker","Grid","HeaderBar","Heading","Icon","IconPicker","Image","Input","Label","Link","List","Loader","OverlayLoader","MultiAutoComplete","MultiFilePicker","Portal","Popover","ProgressBar","Radio","RadioGroup","RangeSlider","Scrollbar","ScrollArea","ScrollBar","SegmentedControl","Select","Separator","Sidebar","SidebarProvider","useSidebar","Skeleton","Slider","SteppedProgress","Switch","Table","Tabs","Tag","Tags","Text","Textarea","TimeAgo","Toast","useToast","Tooltip","Tree","Widget","cn","cva","generateId","useDisclosure"],"sources":["ui.ts"],"sourcesContent":["export {\n FormComponentDescription,\n FormComponentLabel,\n FormComponentNote,\n FormComponentErrorMessage\n} from \"~/FormComponent/index.js\";\n\n// Accordion\nexport { Accordion } from \"~/Accordion/index.js\";\n\n// Alert\nexport { Alert } from \"~/Alert/index.js\";\n\n// AutoComplete\nexport { AutoComplete } from \"~/AutoComplete/index.js\";\n\n// Avatar\nexport { Avatar } from \"~/Avatar/index.js\";\n\n// Button\nexport { Button, CopyButton, IconButton } from \"~/Button/index.js\";\n\n// Card\nexport { Card } from \"~/Card/index.js\";\n\n// Checkbox\nexport { Checkbox } from \"~/Checkbox/index.js\";\n\n// CheckboxGroup\nexport { CheckboxGroup } from \"~/CheckboxGroup/index.js\";\n\n// CodeEditor\nexport { CodeEditor } from \"~/CodeEditor/index.js\";\n\n// ColorPicker\nexport { ColorPicker } from \"~/ColorPicker/index.js\";\n\n// DataList\nexport {\n CloneIcon,\n CreateIcon,\n DataList,\n DataListModal,\n DataListWithSections,\n DeleteIcon,\n DownloadIcon,\n EditIcon,\n FilterIcon,\n ListIcon,\n LoginIcon,\n NextPageIcon,\n OptionsIcon,\n PreviousPageIcon,\n RefreshIcon,\n SortIcon,\n UploadIcon\n} from \"~/DataList/index.js\";\n\n// DataTable\nexport { DataTable } from \"~/DataTable/index.js\";\n\n// DelayedOnChange\nexport { DelayedOnChange } from \"~/DelayedOnChange/index.js\";\n\n// Dialog\nexport { Dialog } from \"~/Dialog/index.js\";\n\n// Drawer\nexport { Drawer } from \"~/Drawer/index.js\";\n\n// DropdownMenu\nexport { DropdownMenu } from \"~/DropdownMenu/index.js\";\n\n// DynamicFieldset\nexport { DynamicFieldset } from \"~/DynamicFieldset/index.js\";\n\n// FilePicker\nexport { FilePicker } from \"~/FilePicker/index.js\";\n\n// Grid\nexport { Grid } from \"~/Grid/index.js\";\n\n// HeaderBar\nexport { HeaderBar } from \"~/HeaderBar/index.js\";\n\n// Heading\nexport { Heading } from \"~/Heading/index.js\";\n\n// Icon\nexport { Icon } from \"~/Icon/index.js\";\n\n// IconPicker\nexport { IconPicker } from \"~/IconPicker/index.js\";\n\n// Image\nexport { Image } from \"~/Image/index.js\";\n\n// Input\nexport { Input } from \"~/Input/index.js\";\n\n// Label\nexport { Label } from \"~/Label/index.js\";\n\n// Link\nexport { Link } from \"~/Link/index.js\";\n\n// List\nexport { List } from \"~/List/index.js\";\n\n// Loader\nexport { Loader, OverlayLoader } from \"~/Loader/index.js\";\n\n// MultiAutoComplete\nexport { MultiAutoComplete } from \"~/MultiAutoComplete/index.js\";\n\n// MultiFilePicker\nexport { MultiFilePicker } from \"~/MultiFilePicker/index.js\";\n\n// Portal\nexport { Portal } from \"~/Portal/index.js\";\n\n// Popover\nexport { Popover } from \"~/Popover/index.js\";\n\n// ProgressBar\nexport { ProgressBar } from \"~/ProgressBar/index.js\";\n\n// RadioGroup\nexport { Radio, RadioGroup } from \"~/RadioGroup/index.js\";\n\n// RangeSlider\nexport { RangeSlider } from \"~/RangeSlider/index.js\";\n\n// Scrollbar\nexport { Scrollbar } from \"~/Scrollbar/index.js\";\n\n// ScrollArea\nexport { ScrollArea, ScrollBar } from \"~/ScrollArea/index.js\";\n\n// SegmentedControl\nexport { SegmentedControl } from \"~/SegmentedControl/index.js\";\n\n// Select\nexport { Select } from \"~/Select/index.js\";\n\n// Separator\nexport { Separator } from \"~/Separator/index.js\";\n\n// Sidebar\nexport { Sidebar, SidebarProvider, useSidebar } from \"~/Sidebar/index.js\";\n\n// Skeleton\nexport { Skeleton } from \"~/Skeleton/index.js\";\n\n// Slider\nexport { Slider } from \"~/Slider/index.js\";\n\n// SteppedProgress\nexport { SteppedProgress } from \"~/SteppedProgress/index.js\";\n\n// Switch\nexport { Switch } from \"~/Switch/index.js\";\n\n// Table\nexport { Table } from \"~/Table/index.js\";\n\n// Tabs\nexport { Tabs } from \"~/Tabs/index.js\";\n\n// Tag\nexport { Tag } from \"~/Tag/index.js\";\n\n// Tags\nexport { Tags } from \"~/Tags/index.js\";\n\n// Text\nexport { Text } from \"~/Text/index.js\";\n\n// Textarea\nexport { Textarea } from \"~/Textarea/index.js\";\n\n// TimeAgo\nexport { TimeAgo } from \"~/TimeAgo/index.js\";\n\n// Toast\nexport { Toast, useToast } from \"~/Toast/index.js\";\n\n// Tooltip\nexport { Tooltip } from \"~/Tooltip/index.js\";\n\n// Tree\nexport { Tree } from \"~/Tree/index.js\";\n\n// Widget\nexport { Widget } from \"~/Widget/index.js\";\n\n// utils\nexport { cn, cva, generateId } from \"~/utils.js\";\n\n// hooks\nexport { useDisclosure } from \"~/hooks/index.js\";\n"],"mappings":"AAAA,SACIA,wBAAwB,EACxBC,kBAAkB,EAClBC,iBAAiB,EACjBC,yBAAyB;;AAG7B;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,YAAY;;AAErB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,MAAM,EAAEC,UAAU,EAAEC,UAAU;;AAEvC;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,aAAa;;AAEtB;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,WAAW;;AAEpB;AACA,SACIC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,aAAa,EACbC,oBAAoB,EACpBC,UAAU,EACVC,YAAY,EACZC,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,WAAW,EACXC,gBAAgB,EAChBC,WAAW,EACXC,QAAQ,EACRC,UAAU;;AAGd;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,YAAY;;AAErB;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,UAAU;;AAEnB;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,MAAM,EAAEC,aAAa;;AAE9B;AACA,SAASC,iBAAiB;;AAE1B;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,WAAW;;AAEpB;AACA,SAASC,KAAK,EAAEC,UAAU;;AAE1B;AACA,SAASC,WAAW;;AAEpB;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,UAAU,EAAEC,SAAS;;AAE9B;AACA,SAASC,gBAAgB;;AAEzB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,SAAS;;AAElB;AACA,SAASC,OAAO,EAAEC,eAAe,EAAEC,UAAU;;AAE7C;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,eAAe;;AAExB;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,KAAK;;AAEd;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,GAAG;;AAEZ;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,QAAQ;;AAEjB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,KAAK,EAAEC,QAAQ;;AAExB;AACA,SAASC,OAAO;;AAEhB;AACA,SAASC,IAAI;;AAEb;AACA,SAASC,MAAM;;AAEf;AACA,SAASC,EAAE,EAAEC,GAAG,EAAEC,UAAU;;AAE5B;AACA,SAASC,aAAa","ignoreList":[]}
package/index.d.ts CHANGED
@@ -8,8 +8,10 @@ export * from "./Checkbox/index.js";
8
8
  export * from "./CheckboxGroup/index.js";
9
9
  export * from "./CodeEditor/index.js";
10
10
  export * from "./ColorPicker/index.js";
11
+ export * from "./Calendar/index.js";
11
12
  export * from "./DataList/index.js";
12
13
  export * from "./DataTable/index.js";
14
+ export * from "./DatePicker/index.js";
13
15
  export * from "./DelayedOnChange/index.js";
14
16
  export * from "./Dialog/index.js";
15
17
  export * from "./Drawer/index.js";
package/index.js CHANGED
@@ -8,8 +8,10 @@ export * from "./Checkbox/index.js";
8
8
  export * from "./CheckboxGroup/index.js";
9
9
  export * from "./CodeEditor/index.js";
10
10
  export * from "./ColorPicker/index.js";
11
+ export * from "./Calendar/index.js";
11
12
  export * from "./DataList/index.js";
12
13
  export * from "./DataTable/index.js";
14
+ export * from "./DatePicker/index.js";
13
15
  export * from "./DelayedOnChange/index.js";
14
16
  export * from "./Dialog/index.js";
15
17
  export * from "./Drawer/index.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Accordion/index.js\";\nexport * from \"./Alert/index.js\";\nexport * from \"./AutoComplete/index.js\";\nexport * from \"./Avatar/index.js\";\nexport * from \"./Button/index.js\";\nexport * from \"./Card/index.js\";\nexport * from \"./Checkbox/index.js\";\nexport * from \"./CheckboxGroup/index.js\";\nexport * from \"./CodeEditor/index.js\";\nexport * from \"./ColorPicker/index.js\";\nexport * from \"./DataList/index.js\";\nexport * from \"./DataTable/index.js\";\nexport * from \"./DelayedOnChange/index.js\";\nexport * from \"./Dialog/index.js\";\nexport * from \"./Drawer/index.js\";\nexport * from \"./DropdownMenu/index.js\";\nexport * from \"./DynamicFieldset/index.js\";\nexport * from \"./FilePicker/index.js\";\nexport * from \"./FormComponent/index.js\";\nexport * from \"./Grid/index.js\";\nexport * from \"./HeaderBar/index.js\";\nexport * from \"./HeaderBar/index.js\";\nexport * from \"./Heading/index.js\";\nexport * from \"./Icon/index.js\";\nexport * from \"./IconPicker/index.js\";\nexport * from \"./Image/index.js\";\nexport * from \"./Input/index.js\";\nexport * from \"./Label/index.js\";\nexport * from \"./Link/index.js\";\nexport * from \"./List/index.js\";\nexport * from \"./Loader/index.js\";\nexport * from \"./MultiAutoComplete/index.js\";\nexport * from \"./MultiFilePicker/index.js\";\nexport * from \"./Portal/index.js\";\nexport * from \"./Popover/index.js\";\nexport * from \"./ProgressBar/index.js\";\nexport * from \"./AdminUiProvider/index.js\";\nexport * from \"./RadioGroup/index.js\";\nexport * from \"./RangeSlider/index.js\";\nexport * from \"./Scrollbar/index.js\";\nexport * from \"./ScrollArea/index.js\";\nexport * from \"./SegmentedControl/index.js\";\nexport * from \"./Select/index.js\";\nexport * from \"./Separator/index.js\";\nexport * from \"./Sidebar/index.js\";\nexport * from \"./Skeleton/index.js\";\nexport * from \"./Slider/index.js\";\nexport * from \"./SteppedProgress/index.js\";\nexport * from \"./Switch/index.js\";\nexport * from \"./Table/index.js\";\nexport * from \"./Tabs/index.js\";\nexport * from \"./Tag/index.js\";\nexport * from \"./Tags/index.js\";\nexport * from \"./Text/index.js\";\nexport * from \"./Textarea/index.js\";\nexport * from \"./TimeAgo/index.js\";\nexport * from \"./Toast/index.js\";\nexport * from \"./Tooltip/index.js\";\nexport * from \"./Tree/index.js\";\nexport * from \"./Widget/index.js\";\nexport * from \"./utils.js\";\nexport * from \"./hooks/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Accordion/index.js\";\nexport * from \"./Alert/index.js\";\nexport * from \"./AutoComplete/index.js\";\nexport * from \"./Avatar/index.js\";\nexport * from \"./Button/index.js\";\nexport * from \"./Card/index.js\";\nexport * from \"./Checkbox/index.js\";\nexport * from \"./CheckboxGroup/index.js\";\nexport * from \"./CodeEditor/index.js\";\nexport * from \"./ColorPicker/index.js\";\nexport * from \"./Calendar/index.js\";\nexport * from \"./DataList/index.js\";\nexport * from \"./DataTable/index.js\";\nexport * from \"./DatePicker/index.js\";\nexport * from \"./DelayedOnChange/index.js\";\nexport * from \"./Dialog/index.js\";\nexport * from \"./Drawer/index.js\";\nexport * from \"./DropdownMenu/index.js\";\nexport * from \"./DynamicFieldset/index.js\";\nexport * from \"./FilePicker/index.js\";\nexport * from \"./FormComponent/index.js\";\nexport * from \"./Grid/index.js\";\nexport * from \"./HeaderBar/index.js\";\nexport * from \"./HeaderBar/index.js\";\nexport * from \"./Heading/index.js\";\nexport * from \"./Icon/index.js\";\nexport * from \"./IconPicker/index.js\";\nexport * from \"./Image/index.js\";\nexport * from \"./Input/index.js\";\nexport * from \"./Label/index.js\";\nexport * from \"./Link/index.js\";\nexport * from \"./List/index.js\";\nexport * from \"./Loader/index.js\";\nexport * from \"./MultiAutoComplete/index.js\";\nexport * from \"./MultiFilePicker/index.js\";\nexport * from \"./Portal/index.js\";\nexport * from \"./Popover/index.js\";\nexport * from \"./ProgressBar/index.js\";\nexport * from \"./AdminUiProvider/index.js\";\nexport * from \"./RadioGroup/index.js\";\nexport * from \"./RangeSlider/index.js\";\nexport * from \"./Scrollbar/index.js\";\nexport * from \"./ScrollArea/index.js\";\nexport * from \"./SegmentedControl/index.js\";\nexport * from \"./Select/index.js\";\nexport * from \"./Separator/index.js\";\nexport * from \"./Sidebar/index.js\";\nexport * from \"./Skeleton/index.js\";\nexport * from \"./Slider/index.js\";\nexport * from \"./SteppedProgress/index.js\";\nexport * from \"./Switch/index.js\";\nexport * from \"./Table/index.js\";\nexport * from \"./Tabs/index.js\";\nexport * from \"./Tag/index.js\";\nexport * from \"./Tags/index.js\";\nexport * from \"./Text/index.js\";\nexport * from \"./Textarea/index.js\";\nexport * from \"./TimeAgo/index.js\";\nexport * from \"./Toast/index.js\";\nexport * from \"./Tooltip/index.js\";\nexport * from \"./Tree/index.js\";\nexport * from \"./Widget/index.js\";\nexport * from \"./utils.js\";\nexport * from \"./hooks/index.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@webiny/admin-ui",
3
- "version": "6.3.0-beta.2",
3
+ "version": "6.3.0-beta.4",
4
4
  "type": "module",
5
- "main": "index.js",
5
+ "exports": {
6
+ ".": "./index.js",
7
+ "./*": "./*"
8
+ },
6
9
  "repository": {
7
10
  "type": "git",
8
11
  "url": "https://github.com/webiny/webiny-js.git"
@@ -16,21 +19,23 @@
16
19
  "@monaco-editor/react": "4.7.0",
17
20
  "@radix-ui/react-scroll-area": "1.2.10",
18
21
  "@tanstack/react-table": "8.21.3",
19
- "@webiny/icons": "6.3.0-beta.2",
20
- "@webiny/react-composition": "6.3.0-beta.2",
21
- "@webiny/utils": "6.3.0-beta.2",
22
+ "@webiny/icons": "6.3.0-beta.4",
23
+ "@webiny/react-composition": "6.3.0-beta.4",
24
+ "@webiny/utils": "6.3.0-beta.4",
22
25
  "bytes": "3.1.2",
23
26
  "class-variance-authority": "0.7.1",
24
27
  "clsx": "2.1.1",
25
28
  "cmdk": "1.1.1",
29
+ "date-fns": "4.1.0",
26
30
  "lodash": "4.18.1",
27
31
  "minimatch": "10.2.5",
28
- "mobx": "6.15.0",
32
+ "mobx": "6.15.1",
29
33
  "monaco-editor": "0.53.0",
30
34
  "radix-ui": "1.4.3",
31
35
  "react": "18.3.1",
32
36
  "react-color": "2.19.3",
33
37
  "react-custom-scrollbars": "4.2.1",
38
+ "react-day-picker": "9.14.0",
34
39
  "react-dnd": "16.0.1",
35
40
  "react-virtualized": "9.22.6",
36
41
  "sonner": "2.0.7",
@@ -42,27 +47,26 @@
42
47
  },
43
48
  "devDependencies": {
44
49
  "@fortawesome/free-solid-svg-icons": "7.2.0",
45
- "@storybook/addon-a11y": "10.3.5",
46
- "@storybook/addon-docs": "10.3.5",
50
+ "@storybook/addon-a11y": "10.3.6",
51
+ "@storybook/addon-docs": "10.3.6",
47
52
  "@storybook/addon-webpack5-compiler-babel": "4.0.1",
48
- "@storybook/react-webpack5": "10.3.5",
53
+ "@storybook/react-webpack5": "10.3.6",
49
54
  "@svgr/webpack": "8.1.0",
50
55
  "@tailwindcss/postcss": "4.2.4",
51
56
  "@types/react": "18.3.28",
52
57
  "@types/react-color": "3.0.13",
53
58
  "@types/react-custom-scrollbars": "4.0.13",
54
59
  "@types/react-virtualized": "9.22.3",
55
- "@webiny/build-tools": "6.3.0-beta.2",
56
- "@webiny/project": "6.3.0-beta.2",
60
+ "@webiny/build-tools": "6.3.0-beta.4",
61
+ "@webiny/project": "6.3.0-beta.4",
57
62
  "chalk": "5.6.2",
58
63
  "css-loader": "7.1.4",
59
- "eslint-plugin-storybook": "10.3.5",
60
64
  "file-loader": "6.2.0",
61
- "oxfmt": "0.46.0",
65
+ "oxfmt": "0.47.0",
62
66
  "postcss-loader": "8.2.1",
63
67
  "rimraf": "6.1.3",
64
68
  "sass": "1.99.0",
65
- "storybook": "10.3.5",
69
+ "storybook": "10.3.6",
66
70
  "typescript": "6.0.3",
67
71
  "vitest": "4.1.5"
68
72
  },
@@ -84,5 +88,5 @@
84
88
  ]
85
89
  }
86
90
  },
87
- "gitHead": "c5ae1dbcb99bf7457449ef67aef19c5b4b1ffc4c"
91
+ "gitHead": "7cefe15431dbd65504e1f58147dc9e55bcbfa693"
88
92
  }