@webiny/admin-ui 6.2.0 → 6.3.0-beta.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.
Files changed (161) hide show
  1. package/Accordion/Accordion.d.ts +1 -1
  2. package/Accordion/Accordion.mdx +437 -463
  3. package/Accordion/components/AccordionContent.js.map +1 -1
  4. package/Alert/Alert.d.ts +1 -1
  5. package/Alert/Alert.js.map +1 -1
  6. package/Alert/Alert.mdx +80 -83
  7. package/AutoComplete/AutoComplete.mdx +63 -55
  8. package/Avatar/Avatar.d.ts +1 -1
  9. package/Avatar/Avatar.js.map +1 -1
  10. package/Avatar/Avatar.mdx +52 -43
  11. package/Button/Button.d.ts +1 -1
  12. package/Button/Button.js.map +1 -1
  13. package/Button/Button.mdx +50 -42
  14. package/Button/IconButton.d.ts +1 -1
  15. package/Button/IconButton.js.map +1 -1
  16. package/Card/components/CardContent.d.ts +1 -1
  17. package/Card/components/CardTitle.d.ts +1 -1
  18. package/Checkbox/Checkbox.mdx +51 -49
  19. package/Checkbox/primitives/CheckboxPrimitive.d.ts +1 -1
  20. package/CheckboxGroup/CheckboxGroup.mdx +51 -53
  21. package/CodeEditor/CodeEditor.mdx +44 -43
  22. package/ColorPicker/ColorPicker.mdx +41 -40
  23. package/Command/components/Item.d.ts +1 -1
  24. package/Command/components/Item.js.map +1 -1
  25. package/DataTable/DataTable.mdx +537 -542
  26. package/DataTable/components/ColumnSorter.d.ts +1 -1
  27. package/DataTable/components/ColumnSorter.js.map +1 -1
  28. package/Dialog/Dialog.js.map +1 -1
  29. package/Dialog/components/DialogContent.d.ts +1 -1
  30. package/Dialog/components/DialogContent.js +1 -1
  31. package/Dialog/components/DialogContent.js.map +1 -1
  32. package/Dialog/components/DialogFooter.d.ts +1 -1
  33. package/Dialog/components/DialogFooter.js.map +1 -1
  34. package/Dialog/components/DialogTitle.d.ts +1 -1
  35. package/Drawer/Drawer.js.map +1 -1
  36. package/Drawer/Drawer.mdx +73 -64
  37. package/Drawer/components/DrawerContent.d.ts +1 -1
  38. package/Drawer/components/DrawerContent.js.map +1 -1
  39. package/DropdownMenu/DropdownMenu.js.map +1 -1
  40. package/DropdownMenu/DropdownMenu.mdx +155 -256
  41. package/DropdownMenu/components/DropdownMenuCheckboxItem.js.map +1 -1
  42. package/DropdownMenu/components/DropdownMenuLabel.js.map +1 -1
  43. package/FilePicker/FilePicker.mdx +69 -69
  44. package/FilePicker/primitives/FilePickerPrimitive.d.ts +19 -19
  45. package/FilePicker/primitives/FilePickerPrimitive.js.map +1 -1
  46. package/FilePicker/primitives/components/Trigger.d.ts +1 -1
  47. package/FilePicker/primitives/components/previews/TextOnlyPreview/TextOnlyPreview.d.ts +1 -1
  48. package/FilePicker/primitives/components/previews/variants.d.ts +1 -1
  49. package/FilePicker/primitives/components/types.js.map +1 -1
  50. package/FormComponent/Description.d.ts +1 -1
  51. package/FormComponent/ErrorMessage.d.ts +1 -1
  52. package/FormComponent/Note.d.ts +1 -1
  53. package/Grid/Grid.d.ts +2 -2
  54. package/Grid/Grid.js.map +1 -1
  55. package/Grid/Grid.mdx +111 -121
  56. package/HeaderBar/HeaderBar.mdx +98 -99
  57. package/Heading/Heading.d.ts +1 -1
  58. package/Heading/Heading.js.map +1 -1
  59. package/Heading/Heading.mdx +63 -58
  60. package/Icon/Icon.d.ts +1 -1
  61. package/Icon/Icon.js.map +1 -1
  62. package/Icon/Icon.mdx +79 -147
  63. package/IconPicker/IconPicker.mdx +66 -64
  64. package/IconPicker/primitives/IconPickerPrimitive.d.ts +1 -1
  65. package/IconPicker/primitives/components/IconPickerTrigger.d.ts +1 -1
  66. package/Image/Image.js.map +1 -1
  67. package/Input/Input.mdx +67 -56
  68. package/Input/InputPrimitive.d.ts +1 -1
  69. package/Label/Label.d.ts +1 -1
  70. package/Label/Label.js.map +1 -1
  71. package/Label/Label.mdx +42 -42
  72. package/Label/components/LabelDescription.d.ts +1 -1
  73. package/Label/components/LabelRequired.d.ts +1 -1
  74. package/Label/components/LabelValue.d.ts +1 -1
  75. package/Link/Link.d.ts +1 -1
  76. package/Link/Link.mdx +129 -116
  77. package/List/List.d.ts +1 -1
  78. package/List/List.js.map +1 -1
  79. package/List/List.mdx +317 -329
  80. package/List/components/ListItem.d.ts +1 -1
  81. package/List/components/ListItem.js.map +1 -1
  82. package/Loader/Loader.d.ts +2 -2
  83. package/Loader/Loader.js.map +1 -1
  84. package/Loader/Loader.mdx +96 -91
  85. package/MultiAutoComplete/MultiAutoComplete.mdx +52 -51
  86. package/MultiAutoComplete/primitives/components/MultiAutoCompleteInput.d.ts +1 -1
  87. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenter.js.map +1 -1
  88. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteListOptionsPresenterWithUniqueValues.js.map +1 -1
  89. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteSelectedOptionsPresenter.js.map +1 -1
  90. package/MultiAutoComplete/primitives/presenters/MultiAutoCompleteTemporaryOptionPresenter.js.map +1 -1
  91. package/MultiFilePicker/MultiFilePicker.mdx +84 -80
  92. package/MultiFilePicker/primitives/MultiFilePickerPrimitive.js.map +1 -1
  93. package/Popover/Popover.mdx +112 -118
  94. package/Popover/primitives/components/PopoverArrow.d.ts +1 -1
  95. package/Popover/primitives/components/PopoverContent.d.ts +1 -1
  96. package/RadioGroup/RadioGroup.mdx +62 -59
  97. package/RadioGroup/primitives/RadioGroupPrimitive.js.map +1 -1
  98. package/RangeSlider/RangeSlider.mdx +48 -47
  99. package/RangeSlider/primitives/RangeSliderPrimitive.js.map +1 -1
  100. package/RangeSlider/primitives/components/RangeSliderValue.d.ts +1 -1
  101. package/RangeSlider/primitives/components/RangeSliderValue.js.map +1 -1
  102. package/ScrollArea/ScrollArea.js.map +1 -1
  103. package/SegmentedControl/SegmentedControl.mdx +59 -59
  104. package/SegmentedControl/primitives/SegmentedControlPrimitive.d.ts +1 -1
  105. package/SegmentedControl/primitives/SegmentedControlPrimitive.js.map +1 -1
  106. package/Select/Select.mdx +52 -43
  107. package/Select/primitives/components/SelectTrigger.d.ts +1 -1
  108. package/Select/primitives/components/SelectTrigger.js.map +1 -1
  109. package/Select/primitives/presenters/SelectPresenter.d.ts +1 -1
  110. package/Separator/Separator.d.ts +1 -1
  111. package/Separator/Separator.mdx +139 -150
  112. package/Sidebar/Sidebar.js.map +1 -1
  113. package/Sidebar/Sidebar.mdx +66 -88
  114. package/Sidebar/components/items/SidebarMenuSubItemIndentation.d.ts +1 -1
  115. package/Sidebar/components/items/SidebarMenuSubItemIndentation.js.map +1 -1
  116. package/Skeleton/Skeleton.d.ts +1 -1
  117. package/Skeleton/Skeleton.js.map +1 -1
  118. package/Skeleton/Skeleton.mdx +37 -37
  119. package/Slider/Slider.mdx +48 -47
  120. package/Slider/primitives/SliderPrimitive.js.map +1 -1
  121. package/Slider/primitives/components/SliderSideValue.d.ts +1 -1
  122. package/Slider/primitives/components/SliderSideValue.js.map +1 -1
  123. package/Slider/primitives/components/SliderTooltip.d.ts +1 -1
  124. package/SteppedProgress/components/SteppedProgressIcon.d.ts +1 -1
  125. package/SteppedProgress/components/SteppedProgressIcon.js.map +1 -1
  126. package/SteppedProgress/components/SteppedProgressIndicator.d.ts +1 -1
  127. package/SteppedProgress/components/SteppedProgressIndicator.js.map +1 -1
  128. package/Switch/Switch.mdx +44 -42
  129. package/Switch/primitives/SwitchPrimitive.d.ts +1 -1
  130. package/Table/Table.d.ts +1 -1
  131. package/Table/Table.js.map +1 -1
  132. package/Table/components/Direction.d.ts +1 -1
  133. package/Table/components/Direction.js.map +1 -1
  134. package/Table/components/Header.d.ts +1 -1
  135. package/Table/components/Header.js.map +1 -1
  136. package/Table/components/Resizer.d.ts +1 -1
  137. package/Table/components/Resizer.js.map +1 -1
  138. package/Table/components/Row.d.ts +1 -1
  139. package/Table/components/Row.js.map +1 -1
  140. package/Tabs/Tabs.mdx +297 -292
  141. package/Tabs/components/Content.d.ts +1 -1
  142. package/Tabs/components/List.d.ts +1 -1
  143. package/Tabs/components/Trigger.d.ts +1 -1
  144. package/Tag/Tag.d.ts +1 -1
  145. package/Tag/Tag.js.map +1 -1
  146. package/Tag/Tag.mdx +68 -64
  147. package/Tags/primitives/TagsPrimitive.js.map +1 -1
  148. package/Text/Text.d.ts +1 -1
  149. package/Text/Text.mdx +54 -48
  150. package/Textarea/Textarea.mdx +49 -39
  151. package/Textarea/TextareaPrimitive.d.ts +1 -1
  152. package/Textarea/TextareaPrimitive.js.map +1 -1
  153. package/Toast/Toast.mdx +63 -53
  154. package/Toast/components/ToastRoot.d.ts +1 -1
  155. package/Tooltip/Tooltip.mdx +197 -198
  156. package/Tooltip/components/TooltipArrow.d.ts +1 -1
  157. package/Tooltip/components/TooltipContent.d.ts +1 -1
  158. package/Tree/components/Item.d.ts +1 -1
  159. package/Tree/useTree.d.ts +1 -1
  160. package/Widget/components/WidgetContent.d.ts +1 -1
  161. package/package.json +15 -15
@@ -5,7 +5,7 @@ declare const listItemVariant: (props?: ({
5
5
  activated?: boolean | null | undefined;
6
6
  selected?: boolean | null | undefined;
7
7
  clickable?: boolean | null | undefined;
8
- } & import("class-variance-authority/dist/types.js").ClassProp) | undefined) => string;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  interface ListItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title">, VariantProps<typeof listItemVariant> {
10
10
  title: React.ReactNode;
11
11
  actions?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"names":["React","cn","cva","makeDecoratable","withStaticProps","Text","ListItemAction","ListItemHandle","ListItemIcon","listItemVariant","variants","disabled","true","activated","selected","clickable","DecoratableListItem","actions","children","className","description","handle","icon","colorMark","sidePadding","onClick","title","props","paddingClasses","createElement","Object","assign","tabIndex","Boolean","style","backgroundColor","size","as","ListItem","Action","Handle","Icon"],"sources":["ListItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, cva, makeDecoratable, withStaticProps, type VariantProps } from \"~/utils.js\";\nimport { Text } from \"~/Text/index.js\";\nimport { ListItemAction } from \"./ListItemAction.js\";\nimport { ListItemHandle } from \"./ListItemHandle.js\";\nimport { ListItemIcon } from \"./ListItemIcon.js\";\n\nconst listItemVariant = cva(\n [\n \"w-full flex items-center\",\n \"group-[.list-background-base]:bg-neutral-base\",\n \"group-[.list-background-light]:bg-neutral-light\",\n \"group-[.list-variant-container]:rounded-lg\",\n \"group-[.list-variant-underline]:border-b-sm group-[.list-variant-underline]:border-b-neutral-dimmed\",\n \"hover:bg-neutral-dimmed!\",\n \"focus-visible:outline-none focus-visible:ring-sm focus-visible:ring-inset focus-visible:ring-primary-dimmed\"\n ],\n {\n variants: {\n disabled: {\n true: \"pointer-events-none opacity-50\"\n },\n activated: {\n true: \"bg-neutral-light!\"\n },\n selected: {\n true: \"bg-neutral-light!\"\n },\n clickable: {\n true: \"cursor-pointer\"\n }\n }\n }\n);\n\ninterface ListItemProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\">,\n VariantProps<typeof listItemVariant> {\n title: React.ReactNode;\n actions?: React.ReactNode;\n description?: React.ReactNode;\n handle?: React.ReactNode;\n icon?: React.ReactNode;\n colorMark?: string;\n sidePadding?: \"md\" | \"lg\";\n}\n\nconst DecoratableListItem = ({\n actions,\n children,\n className,\n description,\n activated,\n disabled,\n selected,\n handle,\n icon,\n colorMark,\n sidePadding = \"md\",\n onClick,\n title,\n ...props\n}: ListItemProps) => {\n const paddingClasses = sidePadding === \"md\" ? \"px-md\" : \"pl-lg pr-md\";\n\n return (\n <div\n {...props}\n tabIndex={0}\n className={cn(\n listItemVariant({ disabled, activated, selected, clickable: Boolean(onClick) }),\n className\n )}\n >\n {handle}\n {colorMark && (\n <div\n style={{ backgroundColor: colorMark }}\n className={\"block w-[4px] h-[48px] rounded-lg ml-sm flex-shrink-0\"}\n />\n )}\n <div\n className={cn(\n \"w-full flex justify-between items-center py-sm-extra\",\n paddingClasses\n )}\n >\n <div className={\"w-full flex items-center gap-md\"} onClick={onClick}>\n {icon && <div>{icon}</div>}\n <div className={\"flex flex-col gap-xxs grow text-left\"}>\n <Text\n size={\"md\"}\n as={\"div\"}\n className={\"font-semibold text-neutral-primary\"}\n >\n {title}\n </Text>\n <Text size={\"sm\"} as={\"div\"} className={\"text-neutral-strong\"}>\n {description}\n </Text>\n </div>\n </div>\n {actions && <div className={\"flex items-center gap-xs-plus\"}>{actions}</div>}\n </div>\n {children}\n </div>\n );\n};\n\nconst ListItem = withStaticProps(makeDecoratable(\"ListItem\", DecoratableListItem), {\n Action: ListItemAction,\n Handle: ListItemHandle,\n Icon: ListItemIcon\n});\n\nexport { ListItem, type ListItemProps };\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,EAAE,EAAEC,GAAG,EAAEC,eAAe,EAAEC,eAAe;AAClD,SAASC,IAAI;AACb,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,MAAMC,eAAe,GAAGP,GAAG,CACvB,CACI,0BAA0B,EAC1B,+CAA+C,EAC/C,iDAAiD,EACjD,4CAA4C,EAC5C,qGAAqG,EACrG,0BAA0B,EAC1B,6GAA6G,CAChH,EACD;EACIQ,QAAQ,EAAE;IACNC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACPD,IAAI,EAAE;IACV,CAAC;IACDE,QAAQ,EAAE;MACNF,IAAI,EAAE;IACV,CAAC;IACDG,SAAS,EAAE;MACPH,IAAI,EAAE;IACV;EACJ;AACJ,CACJ,CAAC;AAcD,MAAMI,mBAAmB,GAAGA,CAAC;EACzBC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXP,SAAS;EACTF,QAAQ;EACRG,QAAQ;EACRO,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC,WAAW,GAAG,IAAI;EAClBC,OAAO;EACPC,KAAK;EACL,GAAGC;AACQ,CAAC,KAAK;EACjB,MAAMC,cAAc,GAAGJ,WAAW,KAAK,IAAI,GAAG,OAAO,GAAG,aAAa;EAErE,oBACIxB,KAAA,CAAA6B,aAAA,QAAAC,MAAA,CAAAC,MAAA,KACQJ,KAAK;IACTK,QAAQ,EAAE,CAAE;IACZb,SAAS,EAAElB,EAAE,CACTQ,eAAe,CAAC;MAAEE,QAAQ;MAAEE,SAAS;MAAEC,QAAQ;MAAEC,SAAS,EAAEkB,OAAO,CAACR,OAAO;IAAE,CAAC,CAAC,EAC/EN,SACJ;EAAE,IAEDE,MAAM,EACNE,SAAS,iBACNvB,KAAA,CAAA6B,aAAA;IACIK,KAAK,EAAE;MAAEC,eAAe,EAAEZ;IAAU,CAAE;IACtCJ,SAAS,EAAE;EAAwD,CACtE,CACJ,eACDnB,KAAA,CAAA6B,aAAA;IACIV,SAAS,EAAElB,EAAE,CACT,sDAAsD,EACtD2B,cACJ;EAAE,gBAEF5B,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE,iCAAkC;IAACM,OAAO,EAAEA;EAAQ,GAC/DH,IAAI,iBAAItB,KAAA,CAAA6B,aAAA,cAAMP,IAAU,CAAC,eAC1BtB,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE;EAAuC,gBACnDnB,KAAA,CAAA6B,aAAA,CAACxB,IAAI;IACD+B,IAAI,EAAE,IAAK;IACXC,EAAE,EAAE,KAAM;IACVlB,SAAS,EAAE;EAAqC,GAE/CO,KACC,CAAC,eACP1B,KAAA,CAAA6B,aAAA,CAACxB,IAAI;IAAC+B,IAAI,EAAE,IAAK;IAACC,EAAE,EAAE,KAAM;IAAClB,SAAS,EAAE;EAAsB,GACzDC,WACC,CACL,CACJ,CAAC,EACLH,OAAO,iBAAIjB,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE;EAAgC,GAAEF,OAAa,CAC1E,CAAC,EACLC,QACA,CAAC;AAEd,CAAC;AAED,MAAMoB,QAAQ,GAAGlC,eAAe,CAACD,eAAe,CAAC,UAAU,EAAEa,mBAAmB,CAAC,EAAE;EAC/EuB,MAAM,EAAEjC,cAAc;EACtBkC,MAAM,EAAEjC,cAAc;EACtBkC,IAAI,EAAEjC;AACV,CAAC,CAAC;AAEF,SAAS8B,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","cn","cva","makeDecoratable","withStaticProps","Text","ListItemAction","ListItemHandle","ListItemIcon","listItemVariant","variants","disabled","true","activated","selected","clickable","DecoratableListItem","actions","children","className","description","handle","icon","colorMark","sidePadding","onClick","title","props","paddingClasses","createElement","Object","assign","tabIndex","Boolean","style","backgroundColor","size","as","ListItem","Action","Handle","Icon"],"sources":["ListItem.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn, cva, makeDecoratable, withStaticProps, type VariantProps } from \"~/utils.js\";\nimport { Text } from \"~/Text/index.js\";\nimport { ListItemAction } from \"./ListItemAction.js\";\nimport { ListItemHandle } from \"./ListItemHandle.js\";\nimport { ListItemIcon } from \"./ListItemIcon.js\";\n\nconst listItemVariant = cva(\n [\n \"w-full flex items-center\",\n \"group-[.list-background-base]:bg-neutral-base\",\n \"group-[.list-background-light]:bg-neutral-light\",\n \"group-[.list-variant-container]:rounded-lg\",\n \"group-[.list-variant-underline]:border-b-sm group-[.list-variant-underline]:border-b-neutral-dimmed\",\n \"hover:bg-neutral-dimmed!\",\n \"focus-visible:outline-none focus-visible:ring-sm focus-visible:ring-inset focus-visible:ring-primary-dimmed\"\n ],\n {\n variants: {\n disabled: {\n true: \"pointer-events-none opacity-50\"\n },\n activated: {\n true: \"bg-neutral-light!\"\n },\n selected: {\n true: \"bg-neutral-light!\"\n },\n clickable: {\n true: \"cursor-pointer\"\n }\n }\n }\n);\n\ninterface ListItemProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\">,\n VariantProps<typeof listItemVariant> {\n title: React.ReactNode;\n actions?: React.ReactNode;\n description?: React.ReactNode;\n handle?: React.ReactNode;\n icon?: React.ReactNode;\n colorMark?: string;\n sidePadding?: \"md\" | \"lg\";\n}\n\nconst DecoratableListItem = ({\n actions,\n children,\n className,\n description,\n activated,\n disabled,\n selected,\n handle,\n icon,\n colorMark,\n sidePadding = \"md\",\n onClick,\n title,\n ...props\n}: ListItemProps) => {\n const paddingClasses = sidePadding === \"md\" ? \"px-md\" : \"pl-lg pr-md\";\n\n return (\n <div\n {...props}\n tabIndex={0}\n className={cn(\n listItemVariant({\n disabled,\n activated,\n selected,\n clickable: Boolean(onClick)\n }),\n className\n )}\n >\n {handle}\n {colorMark && (\n <div\n style={{ backgroundColor: colorMark }}\n className={\"block w-[4px] h-[48px] rounded-lg ml-sm flex-shrink-0\"}\n />\n )}\n <div\n className={cn(\n \"w-full flex justify-between items-center py-sm-extra\",\n paddingClasses\n )}\n >\n <div className={\"w-full flex items-center gap-md\"} onClick={onClick}>\n {icon && <div>{icon}</div>}\n <div className={\"flex flex-col gap-xxs grow text-left\"}>\n <Text\n size={\"md\"}\n as={\"div\"}\n className={\"font-semibold text-neutral-primary\"}\n >\n {title}\n </Text>\n <Text size={\"sm\"} as={\"div\"} className={\"text-neutral-strong\"}>\n {description}\n </Text>\n </div>\n </div>\n {actions && <div className={\"flex items-center gap-xs-plus\"}>{actions}</div>}\n </div>\n {children}\n </div>\n );\n};\n\nconst ListItem = withStaticProps(makeDecoratable(\"ListItem\", DecoratableListItem), {\n Action: ListItemAction,\n Handle: ListItemHandle,\n Icon: ListItemIcon\n});\n\nexport { ListItem, type ListItemProps };\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,EAAE,EAAEC,GAAG,EAAEC,eAAe,EAAEC,eAAe;AAClD,SAASC,IAAI;AACb,SAASC,cAAc;AACvB,SAASC,cAAc;AACvB,SAASC,YAAY;AAErB,MAAMC,eAAe,GAAGP,GAAG,CACvB,CACI,0BAA0B,EAC1B,+CAA+C,EAC/C,iDAAiD,EACjD,4CAA4C,EAC5C,qGAAqG,EACrG,0BAA0B,EAC1B,6GAA6G,CAChH,EACD;EACIQ,QAAQ,EAAE;IACNC,QAAQ,EAAE;MACNC,IAAI,EAAE;IACV,CAAC;IACDC,SAAS,EAAE;MACPD,IAAI,EAAE;IACV,CAAC;IACDE,QAAQ,EAAE;MACNF,IAAI,EAAE;IACV,CAAC;IACDG,SAAS,EAAE;MACPH,IAAI,EAAE;IACV;EACJ;AACJ,CACJ,CAAC;AAeD,MAAMI,mBAAmB,GAAGA,CAAC;EACzBC,OAAO;EACPC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXP,SAAS;EACTF,QAAQ;EACRG,QAAQ;EACRO,MAAM;EACNC,IAAI;EACJC,SAAS;EACTC,WAAW,GAAG,IAAI;EAClBC,OAAO;EACPC,KAAK;EACL,GAAGC;AACQ,CAAC,KAAK;EACjB,MAAMC,cAAc,GAAGJ,WAAW,KAAK,IAAI,GAAG,OAAO,GAAG,aAAa;EAErE,oBACIxB,KAAA,CAAA6B,aAAA,QAAAC,MAAA,CAAAC,MAAA,KACQJ,KAAK;IACTK,QAAQ,EAAE,CAAE;IACZb,SAAS,EAAElB,EAAE,CACTQ,eAAe,CAAC;MACZE,QAAQ;MACRE,SAAS;MACTC,QAAQ;MACRC,SAAS,EAAEkB,OAAO,CAACR,OAAO;IAC9B,CAAC,CAAC,EACFN,SACJ;EAAE,IAEDE,MAAM,EACNE,SAAS,iBACNvB,KAAA,CAAA6B,aAAA;IACIK,KAAK,EAAE;MAAEC,eAAe,EAAEZ;IAAU,CAAE;IACtCJ,SAAS,EAAE;EAAwD,CACtE,CACJ,eACDnB,KAAA,CAAA6B,aAAA;IACIV,SAAS,EAAElB,EAAE,CACT,sDAAsD,EACtD2B,cACJ;EAAE,gBAEF5B,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE,iCAAkC;IAACM,OAAO,EAAEA;EAAQ,GAC/DH,IAAI,iBAAItB,KAAA,CAAA6B,aAAA,cAAMP,IAAU,CAAC,eAC1BtB,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE;EAAuC,gBACnDnB,KAAA,CAAA6B,aAAA,CAACxB,IAAI;IACD+B,IAAI,EAAE,IAAK;IACXC,EAAE,EAAE,KAAM;IACVlB,SAAS,EAAE;EAAqC,GAE/CO,KACC,CAAC,eACP1B,KAAA,CAAA6B,aAAA,CAACxB,IAAI;IAAC+B,IAAI,EAAE,IAAK;IAACC,EAAE,EAAE,KAAM;IAAClB,SAAS,EAAE;EAAsB,GACzDC,WACC,CACL,CACJ,CAAC,EACLH,OAAO,iBAAIjB,KAAA,CAAA6B,aAAA;IAAKV,SAAS,EAAE;EAAgC,GAAEF,OAAa,CAC1E,CAAC,EACLC,QACA,CAAC;AAEd,CAAC;AAED,MAAMoB,QAAQ,GAAGlC,eAAe,CAACD,eAAe,CAAC,UAAU,EAAEa,mBAAmB,CAAC,EAAE;EAC/EuB,MAAM,EAAEjC,cAAc;EACtBkC,MAAM,EAAEjC,cAAc;EACtBkC,IAAI,EAAEjC;AACV,CAAC,CAAC;AAEF,SAAS8B,QAAQ","ignoreList":[]}
@@ -2,10 +2,10 @@ import React from "react";
2
2
  import { type VariantProps } from "../utils.js";
3
3
  declare const loaderVariants: (props?: ({
4
4
  size?: "sm" | "md" | "lg" | "xs" | null | undefined;
5
- } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
6
  declare const loaderBaseVariant: (props?: ({
7
7
  variant?: "accent" | "subtle" | "negative" | null | undefined;
8
- } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
8
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
9
9
  interface LoaderProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof loaderVariants>, VariantProps<typeof loaderBaseVariant> {
10
10
  max?: number;
11
11
  value?: number;
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","Text","cn","cva","makeDecoratable","loaderVariants","variants","size","xs","sm","md","lg","defaultVariants","loaderBaseVariant","variant","accent","subtle","negative","loaderActiveVariant","DecoratableLoader","max","min","value","indeterminate","className","text","props","circumference","Math","PI","percentPx","currentPercent","round","rotation","setRotation","interval","setInterval","prev","clearInterval","createElement","Object","assign","xmlns","fill","strokeWidth","viewBox","cx","cy","r","strokeDashoffset","style","strokeDasharray","transition","transformOrigin","transitionProperty","transform","as","Loader"],"sources":["Loader.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Text } from \"~/Text/index.js\";\nimport { cn, cva, makeDecoratable, type VariantProps } from \"~/utils.js\";\n\nconst loaderVariants = cva(\"relative translate\", {\n variants: {\n size: {\n xs: \"size-md\",\n sm: \"size-md-plus\",\n md: \"size-lg\",\n lg: \"size-[40px]\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\nconst loaderBaseVariant = cva(\"stroke \", {\n variants: {\n variant: {\n accent: \"opacity-10 text-neutral-primary\",\n subtle: \"opacity-10 text-neutral-primary\",\n negative: \"opacity-20 text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"accent\"\n }\n});\n\nconst loaderActiveVariant = cva(\"opacity-100\", {\n variants: {\n variant: {\n accent: \"text-accent-primary\",\n subtle: \"opacity-50 text-neutral-primary\",\n negative: \"text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"accent\"\n }\n});\n\ninterface LoaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof loaderVariants>,\n VariantProps<typeof loaderBaseVariant> {\n max?: number;\n value?: number;\n min?: number;\n className?: string;\n indeterminate?: boolean;\n text?: React.ReactNode;\n}\n\nconst DecoratableLoader = ({\n max = 100,\n min = 0,\n value = 66,\n indeterminate = true,\n className,\n size,\n variant,\n text,\n ...props\n}: LoaderProps) => {\n const circumference = 2 * Math.PI * 45;\n const percentPx = circumference / 100;\n const currentPercent = Math.round(((value - min) / (max - min)) * 100);\n\n const [rotation, setRotation] = useState(0);\n useEffect(() => {\n let interval: ReturnType<typeof setInterval>;\n if (indeterminate) {\n // Rotate the loader by 10 degrees every 30ms when indeterminate\n interval = setInterval(() => {\n setRotation(prev => (prev + 10) % 360);\n }, 30);\n } else {\n setRotation(0);\n }\n return () => clearInterval(interval);\n }, [indeterminate]);\n\n return (\n <div {...props} className={\"text-center flex flex-col items-center\"}>\n <div className={cn(loaderVariants({ size }), className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n className=\"size-full stroke-current\"\n strokeWidth=\"12\"\n viewBox=\"0 0 100 100\"\n >\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"44\"\n strokeDashoffset=\"0\"\n className={cn(loaderBaseVariant({ variant }))}\n style={{\n strokeDasharray: `${circumference}px ${circumference}px`,\n transition: \"all 1s ease 0s\",\n transformOrigin: \"50px 50px\"\n }}\n />\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"44\"\n strokeDashoffset=\"0\"\n className={cn(loaderActiveVariant({ variant }))}\n style={{\n strokeDasharray: `${currentPercent * percentPx}px ${circumference}px`,\n transition: indeterminate ? \"none\" : \"500ms ease 0s\",\n transitionProperty: indeterminate\n ? \"transform\"\n : \"stroke-dasharray, transform\",\n transform: indeterminate\n ? `rotate(${rotation}deg)` // Rotate when indeterminate\n : \"rotate(-90deg)\",\n transformOrigin: \"50px 50px\"\n }}\n />\n </svg>\n </div>\n {text && (\n <Text as={\"div\"} className={\"text-neutral-strong w-full pt-sm-plus\"}>\n {text}\n </Text>\n )}\n </div>\n );\n};\n\nconst Loader = makeDecoratable(\"Loader\", DecoratableLoader);\n\nexport { Loader, type LoaderProps };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","Text","cn","cva","makeDecoratable","loaderVariants","variants","size","xs","sm","md","lg","defaultVariants","loaderBaseVariant","variant","accent","subtle","negative","loaderActiveVariant","DecoratableLoader","max","min","value","indeterminate","className","text","props","circumference","Math","PI","percentPx","currentPercent","round","rotation","setRotation","interval","setInterval","prev","clearInterval","createElement","Object","assign","xmlns","fill","strokeWidth","viewBox","cx","cy","r","strokeDashoffset","style","strokeDasharray","transition","transformOrigin","transitionProperty","transform","as","Loader"],"sources":["Loader.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport { Text } from \"~/Text/index.js\";\nimport { cn, cva, makeDecoratable, type VariantProps } from \"~/utils.js\";\n\nconst loaderVariants = cva(\"relative translate\", {\n variants: {\n size: {\n xs: \"size-md\",\n sm: \"size-md-plus\",\n md: \"size-lg\",\n lg: \"size-[40px]\"\n }\n },\n defaultVariants: {\n size: \"md\"\n }\n});\n\nconst loaderBaseVariant = cva(\"stroke \", {\n variants: {\n variant: {\n accent: \"opacity-10 text-neutral-primary\",\n subtle: \"opacity-10 text-neutral-primary\",\n negative: \"opacity-20 text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"accent\"\n }\n});\n\nconst loaderActiveVariant = cva(\"opacity-100\", {\n variants: {\n variant: {\n accent: \"text-accent-primary\",\n subtle: \"opacity-50 text-neutral-primary\",\n negative: \"text-neutral-light\"\n }\n },\n defaultVariants: {\n variant: \"accent\"\n }\n});\n\ninterface LoaderProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof loaderVariants>,\n VariantProps<typeof loaderBaseVariant> {\n max?: number;\n value?: number;\n min?: number;\n className?: string;\n indeterminate?: boolean;\n text?: React.ReactNode;\n}\n\nconst DecoratableLoader = ({\n max = 100,\n min = 0,\n value = 66,\n indeterminate = true,\n className,\n size,\n variant,\n text,\n ...props\n}: LoaderProps) => {\n const circumference = 2 * Math.PI * 45;\n const percentPx = circumference / 100;\n const currentPercent = Math.round(((value - min) / (max - min)) * 100);\n\n const [rotation, setRotation] = useState(0);\n useEffect(() => {\n let interval: ReturnType<typeof setInterval>;\n if (indeterminate) {\n // Rotate the loader by 10 degrees every 30ms when indeterminate\n interval = setInterval(() => {\n setRotation(prev => (prev + 10) % 360);\n }, 30);\n } else {\n setRotation(0);\n }\n return () => clearInterval(interval);\n }, [indeterminate]);\n\n return (\n <div {...props} className={\"text-center flex flex-col items-center\"}>\n <div className={cn(loaderVariants({ size }), className)}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n className=\"size-full stroke-current\"\n strokeWidth=\"12\"\n viewBox=\"0 0 100 100\"\n >\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"44\"\n strokeDashoffset=\"0\"\n className={cn(loaderBaseVariant({ variant }))}\n style={{\n strokeDasharray: `${circumference}px ${circumference}px`,\n transition: \"all 1s ease 0s\",\n transformOrigin: \"50px 50px\"\n }}\n />\n <circle\n cx=\"50\"\n cy=\"50\"\n r=\"44\"\n strokeDashoffset=\"0\"\n className={cn(loaderActiveVariant({ variant }))}\n style={{\n strokeDasharray: `${currentPercent * percentPx}px ${circumference}px`,\n transition: indeterminate ? \"none\" : \"500ms ease 0s\",\n transitionProperty: indeterminate\n ? \"transform\"\n : \"stroke-dasharray, transform\",\n transform: indeterminate\n ? `rotate(${rotation}deg)` // Rotate when indeterminate\n : \"rotate(-90deg)\",\n transformOrigin: \"50px 50px\"\n }}\n />\n </svg>\n </div>\n {text && (\n <Text as={\"div\"} className={\"text-neutral-strong w-full pt-sm-plus\"}>\n {text}\n </Text>\n )}\n </div>\n );\n};\n\nconst Loader = makeDecoratable(\"Loader\", DecoratableLoader);\n\nexport { Loader, type LoaderProps };\n"],"mappings":"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","ignoreList":[]}
package/Loader/Loader.mdx CHANGED
@@ -1,7 +1,7 @@
1
- import { Canvas, Meta, Controls } from '@storybook/addon-docs/blocks';
1
+ import { Canvas, Meta, Controls } from "@storybook/addon-docs/blocks";
2
2
 
3
- import * as LoaderStories from './Loader.stories';
4
- import * as OverlayLoaderStories from './OverlayLoader.stories';
3
+ import * as LoaderStories from "./Loader.stories";
4
+ import * as OverlayLoaderStories from "./OverlayLoader.stories";
5
5
 
6
6
  <Meta title="Components/Loader" />
7
7
 
@@ -10,8 +10,8 @@ import * as OverlayLoaderStories from './OverlayLoader.stories';
10
10
  The Loader components provide visual feedback to users when content is loading or an operation is in progress.
11
11
  Webiny offers two loader components:
12
12
 
13
- 1. - **Loader** - A standalone circular progress indicator.
14
- 2. - **OverlayLoader** - The OverlayLoader covers its parent container with a semi-transparent overlay, typically used to indicate a loading state while keeping the background content visible but inactive. Please refer below for more examples.
13
+ 1. - **Loader** - A standalone circular progress indicator.
14
+ 2. - **OverlayLoader** - The OverlayLoader covers its parent container with a semi-transparent overlay, typically used to indicate a loading state while keeping the background content visible but inactive. Please refer below for more examples.
15
15
 
16
16
  ## Loader
17
17
 
@@ -22,32 +22,27 @@ import React from "react";
22
22
  import { Loader } from "@webiny/admin-ui";
23
23
 
24
24
  const LoaderExample = () => {
25
- return (
26
- <div className="flex flex-col items-center gap-4">
27
- <Loader
28
- size="md"
29
- variant="accent"
30
- indeterminate={true}
31
- text="Loading..."
32
- />
33
- </div>
34
- );
35
- };
25
+ return (
26
+
27
+ <div className="flex flex-col items-center gap-4">
28
+ <Loader size="md" variant="accent" indeterminate={true} text="Loading..." />
29
+ </div>
30
+ ); };
36
31
 
37
32
  export default LoaderExample;
38
33
 
39
34
  ` } }
40
- additionalActions={[
41
- {
42
- title: 'Open in GitHub',
43
- onClick: () => {
44
- window.open(
45
- 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Loader/Loader.tsx',
46
- '_blank'
47
- );
48
- },
49
- }
50
- ]}
35
+ additionalActions={[
36
+ {
37
+ title: 'Open in GitHub',
38
+ onClick: () => {
39
+ window.open(
40
+ 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Loader/Loader.tsx',
41
+ '_blank'
42
+ );
43
+ },
44
+ }
45
+ ]}
51
46
  />
52
47
 
53
48
  <Controls of={LoaderStories.Documentation} />
@@ -57,16 +52,11 @@ import React from "react";
57
52
  import { Loader } from "@webiny/admin-ui";
58
53
 
59
54
  const LoaderExample = () => {
60
- return (
61
- <div className="flex flex-col items-center gap-4">
62
- <Loader
63
- size="md"
64
- variant="accent"
65
- indeterminate={true}
66
- text="Loading..."
67
- />
68
- </div>
69
- );
55
+ return (
56
+ <div className="flex flex-col items-center gap-4">
57
+ <Loader size="md" variant="accent" indeterminate={true} text="Loading..." />
58
+ </div>
59
+ );
70
60
  };
71
61
 
72
62
  export default LoaderExample;
@@ -81,7 +71,8 @@ import React from "react";
81
71
  import { Loader } from "@webiny/admin-ui";
82
72
 
83
73
  const ExtraSmallLoaderExample = () => (
84
- <Loader size="xs" />
74
+
75
+ <Loader size="xs" />
85
76
  );
86
77
 
87
78
  export default ExtraSmallLoaderExample;
@@ -92,7 +83,8 @@ import React from "react";
92
83
  import { Loader } from "@webiny/admin-ui";
93
84
 
94
85
  const SmallLoaderExample = () => (
95
- <Loader size="sm" />
86
+
87
+ <Loader size="sm" />
96
88
  );
97
89
 
98
90
  export default SmallLoaderExample;
@@ -103,7 +95,8 @@ import React from "react";
103
95
  import { Loader } from "@webiny/admin-ui";
104
96
 
105
97
  const MediumLoaderExample = () => (
106
- <Loader size="md" />
98
+
99
+ <Loader size="md" />
107
100
  );
108
101
 
109
102
  export default MediumLoaderExample;
@@ -114,7 +107,8 @@ import React from "react";
114
107
  import { Loader } from "@webiny/admin-ui";
115
108
 
116
109
  const LargeLoaderExample = () => (
117
- <Loader size="lg" />
110
+
111
+ <Loader size="lg" />
118
112
  );
119
113
 
120
114
  export default LargeLoaderExample;
@@ -129,7 +123,8 @@ import React from "react";
129
123
  import { Loader } from "@webiny/admin-ui";
130
124
 
131
125
  const AccentLoaderExample = () => (
132
- <Loader variant="accent" />
126
+
127
+ <Loader variant="accent" />
133
128
  );
134
129
 
135
130
  export default AccentLoaderExample;
@@ -140,7 +135,8 @@ import React from "react";
140
135
  import { Loader } from "@webiny/admin-ui";
141
136
 
142
137
  const SubtleLoaderExample = () => (
143
- <Loader variant="subtle" />
138
+
139
+ <Loader variant="subtle" />
144
140
  );
145
141
 
146
142
  export default SubtleLoaderExample;
@@ -151,9 +147,10 @@ import React from "react";
151
147
  import { Loader } from "@webiny/admin-ui";
152
148
 
153
149
  const NegativeLoaderExample = () => (
154
- <div className="bg-primary p-md rounded-md">
155
- <Loader variant="negative" />
156
- </div>
150
+
151
+ <div className="bg-primary p-md rounded-md">
152
+ <Loader variant="negative" />
153
+ </div>
157
154
  );
158
155
 
159
156
  export default NegativeLoaderExample;
@@ -168,7 +165,7 @@ import React, { useState, useEffect } from "react";
168
165
  import { Loader } from "@webiny/admin-ui";
169
166
 
170
167
  const ControlledProgressExample = () => {
171
- const [value, setValue] = useState(0);
168
+ const [value, setValue] = useState(0);
172
169
 
173
170
  useEffect(() => {
174
171
  const interval = setInterval(() => {
@@ -190,6 +187,7 @@ const ControlledProgressExample = () => {
190
187
  text={"Loading " + value + "%"}
191
188
  />
192
189
  );
190
+
193
191
  };
194
192
 
195
193
  export default ControlledProgressExample;
@@ -204,7 +202,8 @@ import React from "react";
204
202
  import { Loader } from "@webiny/admin-ui";
205
203
 
206
204
  const LoaderWithTextExample = () => (
207
- <Loader text="Loading..." />
205
+
206
+ <Loader text="Loading..." />
208
207
  );
209
208
 
210
209
  export default LoaderWithTextExample;
@@ -219,34 +218,30 @@ import React from "react";
219
218
  import { OverlayLoader } from "@webiny/admin-ui";
220
219
 
221
220
  const OverlayLoaderExample = () => {
222
- return (
223
- <div className="relative h-64 w-full bg-neutral-light rounded-md p-4">
224
- <OverlayLoader
225
- size="lg"
226
- variant="accent"
227
- text="Loading content..."
228
- />
229
- <div className="h-full flex items-center justify-center">
230
- <p className="text-neutral-strong">Content is loading...</p>
231
- </div>
232
- </div>
233
- );
234
- };
221
+ return (
222
+
223
+ <div className="relative h-64 w-full bg-neutral-light rounded-md p-4">
224
+ <OverlayLoader size="lg" variant="accent" text="Loading content..." />
225
+ <div className="h-full flex items-center justify-center">
226
+ <p className="text-neutral-strong">Content is loading...</p>
227
+ </div>
228
+ </div>
229
+ ); };
235
230
 
236
231
  export default OverlayLoaderExample;
237
232
 
238
233
  ` } }
239
- additionalActions={[
240
- {
241
- title: 'Open in GitHub',
242
- onClick: () => {
243
- window.open(
244
- 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Loader/OverlayLoader.tsx',
245
- '_blank'
246
- );
247
- },
248
- }
249
- ]}
234
+ additionalActions={[
235
+ {
236
+ title: 'Open in GitHub',
237
+ onClick: () => {
238
+ window.open(
239
+ 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/Loader/OverlayLoader.tsx',
240
+ '_blank'
241
+ );
242
+ },
243
+ }
244
+ ]}
250
245
  />
251
246
 
252
247
  <Controls of={OverlayLoaderStories.Documentation} />
@@ -256,10 +251,12 @@ import React from "react";
256
251
  import { OverlayLoader } from "@webiny/admin-ui";
257
252
 
258
253
  const DefaultOverlayLoaderExample = () => (
259
- <div>
260
- <OverlayLoader />
261
- The OverlayLoader component covers its parent container with a semi-transparent overlay, typically used to indicate a loading state while keeping the background content visible but inactive.
262
- </div>
254
+ <div>
255
+ <OverlayLoader />
256
+ The OverlayLoader component covers its parent container with a semi-transparent overlay,
257
+ typically used to indicate a loading state while keeping the background content visible but
258
+ inactive.
259
+ </div>
263
260
  );
264
261
 
265
262
  export default DefaultOverlayLoaderExample;
@@ -272,10 +269,12 @@ import React from "react";
272
269
  import { OverlayLoader } from "@webiny/admin-ui";
273
270
 
274
271
  const DefaultOverlayLoaderExample = () => (
275
- <div>
276
- <OverlayLoader />
277
- The OverlayLoader component covers its parent container with a semi-transparent overlay, typically used to indicate a loading state while keeping the background content visible but inactive.
278
- </div>
272
+
273
+ <div>
274
+ <OverlayLoader />
275
+ The OverlayLoader component covers its parent container with a semi-transparent overlay, typically
276
+ used to indicate a loading state while keeping the background content visible but inactive.
277
+ </div>
279
278
  );
280
279
 
281
280
  export default DefaultOverlayLoaderExample;
@@ -288,10 +287,12 @@ import React from "react";
288
287
  import { OverlayLoader } from "@webiny/admin-ui";
289
288
 
290
289
  const OverlayLoaderWithTextExample = () => (
291
- <div>
292
- <OverlayLoader text="Loading..." />
293
- The OverlayLoader component covers its parent container with a semi-transparent overlay, typically used to indicate a loading state while keeping the background content visible but inactive.
294
- </div>
290
+
291
+ <div>
292
+ <OverlayLoader text="Loading..." />
293
+ The OverlayLoader component covers its parent container with a semi-transparent overlay, typically
294
+ used to indicate a loading state while keeping the background content visible but inactive.
295
+ </div>
295
296
  );
296
297
 
297
298
  export default OverlayLoaderWithTextExample;
@@ -300,10 +301,12 @@ export default OverlayLoaderWithTextExample;
300
301
  ## Anatomy
301
302
 
302
303
  ### Construction
303
- <img src="/images/storybook/loader/construction.png" alt="Construction"/>
304
+
305
+ <img src="/images/storybook/loader/construction.png" alt="Construction" />
304
306
 
305
307
  ### Style
306
- <img src="/images/storybook/loader/style.png" alt="Style"/>
308
+
309
+ <img src="/images/storybook/loader/style.png" alt="Style" />
307
310
 
308
311
  ### Type
309
312
 
@@ -311,16 +314,18 @@ A **determinate** circular loader visually represents progress with a circular a
311
314
 
312
315
  An **indeterminate loader** does not display exact progress but continuously animates, signaling that a process is ongoing without a known completion time.
313
316
 
314
- <img src="/images/storybook/loader/type.png" alt="Type"/>
317
+ <img src="/images/storybook/loader/type.png" alt="Type" />
315
318
 
316
319
  ### Size
317
- <img src="/images/storybook/loader/size.png" alt="Size"/>
320
+
321
+ <img src="/images/storybook/loader/size.png" alt="Size" />
318
322
 
319
323
  ### Background Overlay
320
- <img src="/images/storybook/loader/background-overlay.png" alt="Background Overlay"/>
324
+
325
+ <img src="/images/storybook/loader/background-overlay.png" alt="Background Overlay" />
321
326
 
322
327
  ## Usage
323
328
 
324
- <img src="/images/storybook/loader/usage-1.png" alt="Usage"/>
329
+ <img src="/images/storybook/loader/usage-1.png" alt="Usage" />
325
330
 
326
- <img src="/images/storybook/loader/usage-2.png" alt="Usage"/>
331
+ <img src="/images/storybook/loader/usage-2.png" alt="Usage" />
@@ -1,6 +1,6 @@
1
- import { Canvas, Meta, Controls } from '@storybook/addon-docs/blocks';
1
+ import { Canvas, Meta, Controls } from "@storybook/addon-docs/blocks";
2
2
 
3
- import * as MultiAutoCompleteStories from './MultiAutoComplete.stories';
3
+ import * as MultiAutoCompleteStories from "./MultiAutoComplete.stories";
4
4
 
5
5
  <Meta of={MultiAutoCompleteStories} />
6
6
 
@@ -51,25 +51,26 @@ const [validation, setValidation] = useState({ isValid: true, message: "" });
51
51
  />
52
52
  </div>
53
53
  );
54
+
54
55
  };
55
56
 
56
57
  export default MultiAutoCompleteExample;
57
58
 
58
59
  ` } }
59
- additionalActions={[
60
- {
61
- title: 'Open in GitHub',
62
- onClick: () => {
63
- window.open(
64
- 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/MultiAutoComplete/MultiAutoComplete.tsx',
65
- '_blank'
66
- );
67
- },
68
- }
69
- ]}
60
+ additionalActions={[
61
+ {
62
+ title: 'Open in GitHub',
63
+ onClick: () => {
64
+ window.open(
65
+ 'https://github.com/webiny/webiny-js/blob/feat/new-admin-ui/packages/admin-ui/src/MultiAutoComplete/MultiAutoComplete.tsx',
66
+ '_blank'
67
+ );
68
+ },
69
+ }
70
+ ]}
70
71
  />
71
72
 
72
- <Controls of={MultiAutoCompleteStories.Documentation}/>
73
+ <Controls of={MultiAutoCompleteStories.Documentation} />
73
74
 
74
75
  ## Usage
75
76
 
@@ -78,43 +79,43 @@ import React, { useState } from "react";
78
79
  import { MultiAutoComplete } from "@webiny/admin-ui";
79
80
 
80
81
  const MultiAutoCompleteExample = () => {
81
- const [values, setValues] = useState<string[]>([]);
82
- const [validation, setValidation] = useState({ isValid: true, message: "" });
83
-
84
- const handleValidation = () => {
85
- if (values.length === 0) {
86
- setValidation({ isValid: false, message: "Please select at least one option" });
87
- } else {
88
- setValidation({ isValid: true, message: "" });
89
- }
90
- };
91
-
92
- const timeZones = [
93
- "Eastern Standard Time (EST)",
94
- "Central Standard Time (CST)",
95
- "Pacific Standard Time (PST)",
96
- "Greenwich Mean Time (GMT)"
97
- ];
98
-
99
- return (
100
- <div>
101
- <MultiAutoComplete
102
- label="Time Zones"
103
- description="Select one or more time zones"
104
- placeholder="Search or select time zones"
105
- options={timeZones}
106
- values={values}
107
- onValuesChange={newValues => {
108
- setValues(newValues);
109
- handleValidation();
110
- }}
111
- validation={validation}
112
- allowFreeInput={true}
113
- required={true}
114
- note="You can add custom time zones if needed"
115
- />
116
- </div>
117
- );
82
+ const [values, setValues] = useState<string[]>([]);
83
+ const [validation, setValidation] = useState({ isValid: true, message: "" });
84
+
85
+ const handleValidation = () => {
86
+ if (values.length === 0) {
87
+ setValidation({ isValid: false, message: "Please select at least one option" });
88
+ } else {
89
+ setValidation({ isValid: true, message: "" });
90
+ }
91
+ };
92
+
93
+ const timeZones = [
94
+ "Eastern Standard Time (EST)",
95
+ "Central Standard Time (CST)",
96
+ "Pacific Standard Time (PST)",
97
+ "Greenwich Mean Time (GMT)"
98
+ ];
99
+
100
+ return (
101
+ <div>
102
+ <MultiAutoComplete
103
+ label="Time Zones"
104
+ description="Select one or more time zones"
105
+ placeholder="Search or select time zones"
106
+ options={timeZones}
107
+ values={values}
108
+ onValuesChange={newValues => {
109
+ setValues(newValues);
110
+ handleValidation();
111
+ }}
112
+ validation={validation}
113
+ allowFreeInput={true}
114
+ required={true}
115
+ note="You can add custom time zones if needed"
116
+ />
117
+ </div>
118
+ );
118
119
  };
119
120
 
120
121
  export default MultiAutoCompleteExample;
@@ -4,7 +4,7 @@ import type { CommandOptionFormatted } from "../../../Command/index.js";
4
4
  import { type VariantProps } from "../../../utils.js";
5
5
  declare const multiAutoCompleteInputVariants: (props?: ({
6
6
  disabled?: boolean | null | undefined;
7
- } & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  type MultiAutoCompleteInputProps = VariantProps<typeof multiAutoCompleteInputVariants> & InputPrimitiveProps & {
9
9
  changeValue: (value: string) => void;
10
10
  closeList: () => void;
@@ -1 +1 @@
1
- {"version":3,"names":["makeAutoObservable","CommandOptionFormatter","ListCache","MultiAutoCompleteListOptionsPresenter","open","loadedOptions","emptyMessage","loadingMessage","initialMessage","options","constructor","init","params","clear","addItems","vm","getItems","map","option","format","empty","hasItems","setListOpenState","setLoadedOptions","loaded","setSelectedOption","value","updateItems","selected","removeSelectedOption","resetSelectedOptions","addOption"],"sources":["MultiAutoCompleteListOptionsPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { CommandOption } from \"~/Command/domain/CommandOption.js\";\nimport type { CommandOptionFormatted } from \"~/Command/domain/CommandOptionFormatted.js\";\nimport { CommandOptionFormatter } from \"~/Command/domain/CommandOptionFormatter.js\";\nimport { ListCache } from \"../../domains/index.js\";\n\nexport interface IMultiAutoCompleteListOptionsPresenterParams {\n options?: CommandOption[];\n emptyMessage?: any;\n loadingMessage?: any;\n initialMessage?: any;\n}\n\nexport interface IMultiAutoCompleteListOptionsPresenter {\n vm: {\n options: CommandOptionFormatted[];\n emptyMessage: any;\n loadingMessage: any;\n open: boolean;\n empty: boolean;\n };\n init: (params: IMultiAutoCompleteListOptionsPresenterParams) => void;\n setListOpenState: (open: boolean) => void;\n setLoadedOptions: (loaded: boolean) => void;\n addOption: (option: CommandOption) => void;\n setSelectedOption: (value: string) => void;\n removeSelectedOption: (value: string) => void;\n resetSelectedOptions: () => void;\n}\n\nexport class MultiAutoCompleteListOptionsPresenter\n implements IMultiAutoCompleteListOptionsPresenter\n{\n private open = false;\n private loadedOptions = false;\n private emptyMessage = \"No results.\";\n private loadingMessage = \"Loading...\";\n private initialMessage = \"Start typing to find an option.\";\n private options = new ListCache<CommandOption>();\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params: IMultiAutoCompleteListOptionsPresenterParams) {\n this.options.clear();\n params.options && this.options.addItems(params.options);\n this.emptyMessage = params.emptyMessage || this.emptyMessage;\n this.loadingMessage = params.loadingMessage || this.loadingMessage;\n this.initialMessage = params.initialMessage || this.initialMessage;\n }\n\n get vm() {\n return {\n options: this.options.getItems().map(option => CommandOptionFormatter.format(option)),\n emptyMessage: this.loadedOptions ? this.emptyMessage : this.initialMessage,\n loadingMessage: this.loadingMessage,\n open: this.open,\n empty: !this.options.hasItems()\n };\n }\n\n setListOpenState = (open: boolean) => {\n this.open = open;\n };\n\n setLoadedOptions = (loaded: boolean) => {\n this.loadedOptions = loaded;\n };\n\n setSelectedOption = (value: string) => {\n this.options.updateItems(option => {\n if (option.value === value) {\n option.selected = true;\n }\n\n return option;\n });\n };\n\n removeSelectedOption = (value: string) => {\n this.options.updateItems(option => {\n if (option.value === value) {\n option.selected = false;\n }\n\n return option;\n });\n };\n\n resetSelectedOptions = () => {\n this.options.updateItems(option => {\n option.selected = false;\n return option;\n });\n };\n\n addOption = (option: CommandOption) => {\n this.options.addItems([option]);\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAGzC,SAASC,sBAAsB;AAC/B,SAASC,SAAS;AA0BlB,OAAO,MAAMC,qCAAqC,CAElD;EACYC,IAAI,GAAG,KAAK;EACZC,aAAa,GAAG,KAAK;EACrBC,YAAY,GAAG,aAAa;EAC5BC,cAAc,GAAG,YAAY;EAC7BC,cAAc,GAAG,iCAAiC;EAClDC,OAAO,GAAG,IAAIP,SAAS,CAAgB,CAAC;EAEhDQ,WAAWA,CAAA,EAAG;IACVV,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAW,IAAIA,CAACC,MAAoD,EAAE;IACvD,IAAI,CAACH,OAAO,CAACI,KAAK,CAAC,CAAC;IACpBD,MAAM,CAACH,OAAO,IAAI,IAAI,CAACA,OAAO,CAACK,QAAQ,CAACF,MAAM,CAACH,OAAO,CAAC;IACvD,IAAI,CAACH,YAAY,GAAGM,MAAM,CAACN,YAAY,IAAI,IAAI,CAACA,YAAY;IAC5D,IAAI,CAACC,cAAc,GAAGK,MAAM,CAACL,cAAc,IAAI,IAAI,CAACA,cAAc;IAClE,IAAI,CAACC,cAAc,GAAGI,MAAM,CAACJ,cAAc,IAAI,IAAI,CAACA,cAAc;EACtE;EAEA,IAAIO,EAAEA,CAAA,EAAG;IACL,OAAO;MACHN,OAAO,EAAE,IAAI,CAACA,OAAO,CAACO,QAAQ,CAAC,CAAC,CAACC,GAAG,CAACC,MAAM,IAAIjB,sBAAsB,CAACkB,MAAM,CAACD,MAAM,CAAC,CAAC;MACrFZ,YAAY,EAAE,IAAI,CAACD,aAAa,GAAG,IAAI,CAACC,YAAY,GAAG,IAAI,CAACE,cAAc;MAC1ED,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCH,IAAI,EAAE,IAAI,CAACA,IAAI;MACfgB,KAAK,EAAE,CAAC,IAAI,CAACX,OAAO,CAACY,QAAQ,CAAC;IAClC,CAAC;EACL;EAEAC,gBAAgB,GAAIlB,IAAa,IAAK;IAClC,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB,CAAC;EAEDmB,gBAAgB,GAAIC,MAAe,IAAK;IACpC,IAAI,CAACnB,aAAa,GAAGmB,MAAM;EAC/B,CAAC;EAEDC,iBAAiB,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACjB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/B,IAAIA,MAAM,CAACQ,KAAK,KAAKA,KAAK,EAAE;QACxBR,MAAM,CAACU,QAAQ,GAAG,IAAI;MAC1B;MAEA,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDW,oBAAoB,GAAIH,KAAa,IAAK;IACtC,IAAI,CAACjB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/B,IAAIA,MAAM,CAACQ,KAAK,KAAKA,KAAK,EAAE;QACxBR,MAAM,CAACU,QAAQ,GAAG,KAAK;MAC3B;MAEA,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDY,oBAAoB,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACrB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/BA,MAAM,CAACU,QAAQ,GAAG,KAAK;MACvB,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDa,SAAS,GAAIb,MAAqB,IAAK;IACnC,IAAI,CAACT,OAAO,CAACK,QAAQ,CAAC,CAACI,MAAM,CAAC,CAAC;EACnC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["makeAutoObservable","CommandOptionFormatter","ListCache","MultiAutoCompleteListOptionsPresenter","open","loadedOptions","emptyMessage","loadingMessage","initialMessage","options","constructor","init","params","clear","addItems","vm","getItems","map","option","format","empty","hasItems","setListOpenState","setLoadedOptions","loaded","setSelectedOption","value","updateItems","selected","removeSelectedOption","resetSelectedOptions","addOption"],"sources":["MultiAutoCompleteListOptionsPresenter.ts"],"sourcesContent":["import { makeAutoObservable } from \"mobx\";\nimport type { CommandOption } from \"~/Command/domain/CommandOption.js\";\nimport type { CommandOptionFormatted } from \"~/Command/domain/CommandOptionFormatted.js\";\nimport { CommandOptionFormatter } from \"~/Command/domain/CommandOptionFormatter.js\";\nimport { ListCache } from \"../../domains/index.js\";\n\nexport interface IMultiAutoCompleteListOptionsPresenterParams {\n options?: CommandOption[];\n emptyMessage?: any;\n loadingMessage?: any;\n initialMessage?: any;\n}\n\nexport interface IMultiAutoCompleteListOptionsPresenter {\n vm: {\n options: CommandOptionFormatted[];\n emptyMessage: any;\n loadingMessage: any;\n open: boolean;\n empty: boolean;\n };\n init: (params: IMultiAutoCompleteListOptionsPresenterParams) => void;\n setListOpenState: (open: boolean) => void;\n setLoadedOptions: (loaded: boolean) => void;\n addOption: (option: CommandOption) => void;\n setSelectedOption: (value: string) => void;\n removeSelectedOption: (value: string) => void;\n resetSelectedOptions: () => void;\n}\n\nexport class MultiAutoCompleteListOptionsPresenter implements IMultiAutoCompleteListOptionsPresenter {\n private open = false;\n private loadedOptions = false;\n private emptyMessage = \"No results.\";\n private loadingMessage = \"Loading...\";\n private initialMessage = \"Start typing to find an option.\";\n private options = new ListCache<CommandOption>();\n\n constructor() {\n makeAutoObservable(this);\n }\n\n init(params: IMultiAutoCompleteListOptionsPresenterParams) {\n this.options.clear();\n params.options && this.options.addItems(params.options);\n this.emptyMessage = params.emptyMessage || this.emptyMessage;\n this.loadingMessage = params.loadingMessage || this.loadingMessage;\n this.initialMessage = params.initialMessage || this.initialMessage;\n }\n\n get vm() {\n return {\n options: this.options.getItems().map(option => CommandOptionFormatter.format(option)),\n emptyMessage: this.loadedOptions ? this.emptyMessage : this.initialMessage,\n loadingMessage: this.loadingMessage,\n open: this.open,\n empty: !this.options.hasItems()\n };\n }\n\n setListOpenState = (open: boolean) => {\n this.open = open;\n };\n\n setLoadedOptions = (loaded: boolean) => {\n this.loadedOptions = loaded;\n };\n\n setSelectedOption = (value: string) => {\n this.options.updateItems(option => {\n if (option.value === value) {\n option.selected = true;\n }\n\n return option;\n });\n };\n\n removeSelectedOption = (value: string) => {\n this.options.updateItems(option => {\n if (option.value === value) {\n option.selected = false;\n }\n\n return option;\n });\n };\n\n resetSelectedOptions = () => {\n this.options.updateItems(option => {\n option.selected = false;\n return option;\n });\n };\n\n addOption = (option: CommandOption) => {\n this.options.addItems([option]);\n };\n}\n"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,MAAM;AAGzC,SAASC,sBAAsB;AAC/B,SAASC,SAAS;AA0BlB,OAAO,MAAMC,qCAAqC,CAAmD;EACzFC,IAAI,GAAG,KAAK;EACZC,aAAa,GAAG,KAAK;EACrBC,YAAY,GAAG,aAAa;EAC5BC,cAAc,GAAG,YAAY;EAC7BC,cAAc,GAAG,iCAAiC;EAClDC,OAAO,GAAG,IAAIP,SAAS,CAAgB,CAAC;EAEhDQ,WAAWA,CAAA,EAAG;IACVV,kBAAkB,CAAC,IAAI,CAAC;EAC5B;EAEAW,IAAIA,CAACC,MAAoD,EAAE;IACvD,IAAI,CAACH,OAAO,CAACI,KAAK,CAAC,CAAC;IACpBD,MAAM,CAACH,OAAO,IAAI,IAAI,CAACA,OAAO,CAACK,QAAQ,CAACF,MAAM,CAACH,OAAO,CAAC;IACvD,IAAI,CAACH,YAAY,GAAGM,MAAM,CAACN,YAAY,IAAI,IAAI,CAACA,YAAY;IAC5D,IAAI,CAACC,cAAc,GAAGK,MAAM,CAACL,cAAc,IAAI,IAAI,CAACA,cAAc;IAClE,IAAI,CAACC,cAAc,GAAGI,MAAM,CAACJ,cAAc,IAAI,IAAI,CAACA,cAAc;EACtE;EAEA,IAAIO,EAAEA,CAAA,EAAG;IACL,OAAO;MACHN,OAAO,EAAE,IAAI,CAACA,OAAO,CAACO,QAAQ,CAAC,CAAC,CAACC,GAAG,CAACC,MAAM,IAAIjB,sBAAsB,CAACkB,MAAM,CAACD,MAAM,CAAC,CAAC;MACrFZ,YAAY,EAAE,IAAI,CAACD,aAAa,GAAG,IAAI,CAACC,YAAY,GAAG,IAAI,CAACE,cAAc;MAC1ED,cAAc,EAAE,IAAI,CAACA,cAAc;MACnCH,IAAI,EAAE,IAAI,CAACA,IAAI;MACfgB,KAAK,EAAE,CAAC,IAAI,CAACX,OAAO,CAACY,QAAQ,CAAC;IAClC,CAAC;EACL;EAEAC,gBAAgB,GAAIlB,IAAa,IAAK;IAClC,IAAI,CAACA,IAAI,GAAGA,IAAI;EACpB,CAAC;EAEDmB,gBAAgB,GAAIC,MAAe,IAAK;IACpC,IAAI,CAACnB,aAAa,GAAGmB,MAAM;EAC/B,CAAC;EAEDC,iBAAiB,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACjB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/B,IAAIA,MAAM,CAACQ,KAAK,KAAKA,KAAK,EAAE;QACxBR,MAAM,CAACU,QAAQ,GAAG,IAAI;MAC1B;MAEA,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDW,oBAAoB,GAAIH,KAAa,IAAK;IACtC,IAAI,CAACjB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/B,IAAIA,MAAM,CAACQ,KAAK,KAAKA,KAAK,EAAE;QACxBR,MAAM,CAACU,QAAQ,GAAG,KAAK;MAC3B;MAEA,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDY,oBAAoB,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACrB,OAAO,CAACkB,WAAW,CAACT,MAAM,IAAI;MAC/BA,MAAM,CAACU,QAAQ,GAAG,KAAK;MACvB,OAAOV,MAAM;IACjB,CAAC,CAAC;EACN,CAAC;EAEDa,SAAS,GAAIb,MAAqB,IAAK;IACnC,IAAI,CAACT,OAAO,CAACK,QAAQ,CAAC,CAACI,MAAM,CAAC,CAAC;EACnC,CAAC;AACL","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["MultiAutoCompleteListOptionsPresenterWithUniqueValues","constructor","decoretee","init","params","options","filter","option","selected","vm","setListOpenState","open","setLoadedOptions","loaded","setSelectedOption","value","removeSelectedOption","resetSelectedOptions","addOption"],"sources":["MultiAutoCompleteListOptionsPresenterWithUniqueValues.ts"],"sourcesContent":["import type { CommandOption } from \"~/Command/domain/CommandOption.js\";\nimport type {\n IMultiAutoCompleteListOptionsPresenter,\n IMultiAutoCompleteListOptionsPresenterParams\n} from \"./MultiAutoCompleteListOptionsPresenter.js\";\n\nexport class MultiAutoCompleteListOptionsPresenterWithUniqueValues\n implements IMultiAutoCompleteListOptionsPresenter\n{\n private decoretee: IMultiAutoCompleteListOptionsPresenter;\n\n constructor(decoretee: IMultiAutoCompleteListOptionsPresenter) {\n this.decoretee = decoretee;\n }\n\n init(params: IMultiAutoCompleteListOptionsPresenterParams) {\n const options = params.options?.filter(option => !option.selected);\n this.decoretee.init({\n ...params,\n options\n });\n }\n\n get vm() {\n return this.decoretee.vm;\n }\n\n setListOpenState = (open: boolean) => {\n this.decoretee.setListOpenState(open);\n };\n\n setLoadedOptions = (loaded: boolean) => {\n this.decoretee.setLoadedOptions(loaded);\n };\n\n setSelectedOption = (value: string) => {\n this.decoretee.setSelectedOption(value);\n };\n\n removeSelectedOption = (value: string) => {\n this.decoretee.removeSelectedOption(value);\n };\n\n resetSelectedOptions = () => {\n this.decoretee.resetSelectedOptions();\n };\n\n addOption = (option: CommandOption) => {\n this.decoretee.addOption(option);\n };\n}\n"],"mappings":"AAMA,OAAO,MAAMA,qDAAqD,CAElE;EAGIC,WAAWA,CAACC,SAAiD,EAAE;IAC3D,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,IAAIA,CAACC,MAAoD,EAAE;IACvD,MAAMC,OAAO,GAAGD,MAAM,CAACC,OAAO,EAAEC,MAAM,CAACC,MAAM,IAAI,CAACA,MAAM,CAACC,QAAQ,CAAC;IAClE,IAAI,CAACN,SAAS,CAACC,IAAI,CAAC;MAChB,GAAGC,MAAM;MACTC;IACJ,CAAC,CAAC;EACN;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO,IAAI,CAACP,SAAS,CAACO,EAAE;EAC5B;EAEAC,gBAAgB,GAAIC,IAAa,IAAK;IAClC,IAAI,CAACT,SAAS,CAACQ,gBAAgB,CAACC,IAAI,CAAC;EACzC,CAAC;EAEDC,gBAAgB,GAAIC,MAAe,IAAK;IACpC,IAAI,CAACX,SAAS,CAACU,gBAAgB,CAACC,MAAM,CAAC;EAC3C,CAAC;EAEDC,iBAAiB,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACb,SAAS,CAACY,iBAAiB,CAACC,KAAK,CAAC;EAC3C,CAAC;EAEDC,oBAAoB,GAAID,KAAa,IAAK;IACtC,IAAI,CAACb,SAAS,CAACc,oBAAoB,CAACD,KAAK,CAAC;EAC9C,CAAC;EAEDE,oBAAoB,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACf,SAAS,CAACe,oBAAoB,CAAC,CAAC;EACzC,CAAC;EAEDC,SAAS,GAAIX,MAAqB,IAAK;IACnC,IAAI,CAACL,SAAS,CAACgB,SAAS,CAACX,MAAM,CAAC;EACpC,CAAC;AACL","ignoreList":[]}
1
+ {"version":3,"names":["MultiAutoCompleteListOptionsPresenterWithUniqueValues","constructor","decoretee","init","params","options","filter","option","selected","vm","setListOpenState","open","setLoadedOptions","loaded","setSelectedOption","value","removeSelectedOption","resetSelectedOptions","addOption"],"sources":["MultiAutoCompleteListOptionsPresenterWithUniqueValues.ts"],"sourcesContent":["import type { CommandOption } from \"~/Command/domain/CommandOption.js\";\nimport type {\n IMultiAutoCompleteListOptionsPresenter,\n IMultiAutoCompleteListOptionsPresenterParams\n} from \"./MultiAutoCompleteListOptionsPresenter.js\";\n\nexport class MultiAutoCompleteListOptionsPresenterWithUniqueValues implements IMultiAutoCompleteListOptionsPresenter {\n private decoretee: IMultiAutoCompleteListOptionsPresenter;\n\n constructor(decoretee: IMultiAutoCompleteListOptionsPresenter) {\n this.decoretee = decoretee;\n }\n\n init(params: IMultiAutoCompleteListOptionsPresenterParams) {\n const options = params.options?.filter(option => !option.selected);\n this.decoretee.init({\n ...params,\n options\n });\n }\n\n get vm() {\n return this.decoretee.vm;\n }\n\n setListOpenState = (open: boolean) => {\n this.decoretee.setListOpenState(open);\n };\n\n setLoadedOptions = (loaded: boolean) => {\n this.decoretee.setLoadedOptions(loaded);\n };\n\n setSelectedOption = (value: string) => {\n this.decoretee.setSelectedOption(value);\n };\n\n removeSelectedOption = (value: string) => {\n this.decoretee.removeSelectedOption(value);\n };\n\n resetSelectedOptions = () => {\n this.decoretee.resetSelectedOptions();\n };\n\n addOption = (option: CommandOption) => {\n this.decoretee.addOption(option);\n };\n}\n"],"mappings":"AAMA,OAAO,MAAMA,qDAAqD,CAAmD;EAGjHC,WAAWA,CAACC,SAAiD,EAAE;IAC3D,IAAI,CAACA,SAAS,GAAGA,SAAS;EAC9B;EAEAC,IAAIA,CAACC,MAAoD,EAAE;IACvD,MAAMC,OAAO,GAAGD,MAAM,CAACC,OAAO,EAAEC,MAAM,CAACC,MAAM,IAAI,CAACA,MAAM,CAACC,QAAQ,CAAC;IAClE,IAAI,CAACN,SAAS,CAACC,IAAI,CAAC;MAChB,GAAGC,MAAM;MACTC;IACJ,CAAC,CAAC;EACN;EAEA,IAAII,EAAEA,CAAA,EAAG;IACL,OAAO,IAAI,CAACP,SAAS,CAACO,EAAE;EAC5B;EAEAC,gBAAgB,GAAIC,IAAa,IAAK;IAClC,IAAI,CAACT,SAAS,CAACQ,gBAAgB,CAACC,IAAI,CAAC;EACzC,CAAC;EAEDC,gBAAgB,GAAIC,MAAe,IAAK;IACpC,IAAI,CAACX,SAAS,CAACU,gBAAgB,CAACC,MAAM,CAAC;EAC3C,CAAC;EAEDC,iBAAiB,GAAIC,KAAa,IAAK;IACnC,IAAI,CAACb,SAAS,CAACY,iBAAiB,CAACC,KAAK,CAAC;EAC3C,CAAC;EAEDC,oBAAoB,GAAID,KAAa,IAAK;IACtC,IAAI,CAACb,SAAS,CAACc,oBAAoB,CAACD,KAAK,CAAC;EAC9C,CAAC;EAEDE,oBAAoB,GAAGA,CAAA,KAAM;IACzB,IAAI,CAACf,SAAS,CAACe,oBAAoB,CAAC,CAAC;EACzC,CAAC;EAEDC,SAAS,GAAIX,MAAqB,IAAK;IACnC,IAAI,CAACL,SAAS,CAACgB,SAAS,CAACX,MAAM,CAAC;EACpC,CAAC;AACL","ignoreList":[]}