@tap-payments/os-micro-frontend-shared 0.1.491 → 0.1.492-test.2

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 (400) hide show
  1. package/build/{chunk-HQMP5K4E.js → chunk-7JK4Z6IQ.js} +1 -1
  2. package/build/{chunk-ZTFNCBDJ.js → chunk-C5QNPNNY.js} +1 -1
  3. package/build/chunk-DSXKDOAD.js +1 -0
  4. package/build/chunk-LKNVJTYP.js +1 -0
  5. package/build/chunk-VRUT6M23.js +1 -0
  6. package/build/components/ActionMenu/ActionMenuDropDown.d.ts +1 -1
  7. package/build/components/ActionMenu/ActionMenuItem.d.ts +1 -1
  8. package/build/components/ActionMenu/type.d.ts +1 -1
  9. package/build/components/Amount/TotalAmount/TotalAmount.d.ts +1 -1
  10. package/build/components/Amount/index.js +1 -1
  11. package/build/components/AmountConversionFilter/AmountConversionFilter.d.ts +1 -1
  12. package/build/components/AmountConversionFilter/index.js +1 -1
  13. package/build/components/AmountInput/AmountInput.d.ts +1 -1
  14. package/build/components/AmountInput/index.js +1 -1
  15. package/build/components/AmountStatusChip/AmountStatusChip.d.ts +1 -1
  16. package/build/components/AmountStatusChip/style.d.ts +1 -1
  17. package/build/components/AnimatedSpinnerIcon/style.d.ts +0 -1
  18. package/build/components/AppServices/AppServices.d.ts +1 -1
  19. package/build/components/AppServices/index.js +1 -1
  20. package/build/components/AppServicesBar/AppServicesBar.d.ts +1 -1
  21. package/build/components/AppServicesBar/index.js +1 -1
  22. package/build/components/AppWindowWrapper/headers/AppWindowHeader/type.d.ts +1 -1
  23. package/build/components/AuthenticationTypeChip/AuthenticationTypeChip.d.ts +1 -1
  24. package/build/components/Autocomplete/Autocomplete.d.ts +1 -1
  25. package/build/components/BrandLogo/index.js +1 -1
  26. package/build/components/Chip/style.d.ts +0 -1
  27. package/build/components/CopyImage/index.js +1 -1
  28. package/build/components/CountBadge/style.d.ts +0 -1
  29. package/build/components/CountryFilter/index.js +1 -1
  30. package/build/components/CurrencyFilter/CurrencyFilter.d.ts +1 -1
  31. package/build/components/CurrencyFilter/index.js +1 -1
  32. package/build/components/Customer/CustomerForms/CustomerEmailForm.d.ts +1 -1
  33. package/build/components/Customer/CustomerForms/CustomerFullInfo.d.ts +1 -1
  34. package/build/components/Customer/CustomerForms/CustomerFullInfoForm.d.ts +1 -1
  35. package/build/components/Customer/CustomerForms/CustomerPhoneNumberForm.d.ts +1 -1
  36. package/build/components/Customer/index.js +1 -1
  37. package/build/components/DateFilter/DateFilter.d.ts +1 -1
  38. package/build/components/DateFilter/index.js +1 -1
  39. package/build/components/DeviceIcon/DeviceIcon.d.ts +1 -1
  40. package/build/components/DeviceIcon/style.d.ts +1 -1
  41. package/build/components/Dialog/style.d.ts +0 -1
  42. package/build/components/Discount/DiscountDropdown/DiscountDropdown.d.ts +1 -1
  43. package/build/components/Discount/DiscountRateDropdown/DiscountRateDropdown.d.ts +1 -1
  44. package/build/components/Discount/TotalDiscount/TotalDiscount.d.ts +1 -1
  45. package/build/components/Discount/index.js +1 -1
  46. package/build/components/Discount/utils.d.ts +1 -1
  47. package/build/components/DropdownButton/type.d.ts +1 -1
  48. package/build/components/FileInputPreview/index.js +1 -1
  49. package/build/components/FileInputPreview/type.d.ts +1 -1
  50. package/build/components/FileInputPreview/utils.d.ts +1 -1
  51. package/build/components/FilePreview/type.d.ts +1 -1
  52. package/build/components/FileUploader/type.d.ts +1 -1
  53. package/build/components/FilterDropdown/components/FlatMerchantsListMenu/style.d.ts +1 -1
  54. package/build/components/FilterDropdown/components/MerchantsFilterItem/type.d.ts +1 -1
  55. package/build/components/FilterDropdown/components/MerchantsFilterItem/utils.d.ts +2 -2
  56. package/build/components/FilterDropdown/components/RetailersItem/RetailersItem.d.ts +1 -1
  57. package/build/components/FilterDropdown/index.js +1 -1
  58. package/build/components/FilterDropdown/type.d.ts +1 -1
  59. package/build/components/Filters/index.js +1 -1
  60. package/build/components/FlagDetails/index.js +1 -1
  61. package/build/components/FlippingCard/style.d.ts +0 -1
  62. package/build/components/ImageWrapper/ImageWrapper.d.ts +0 -1
  63. package/build/components/InputBase/AmountInputBase/AmountInputBase.d.ts +1 -1
  64. package/build/components/InputBase/AmountInputBase/CurrencyList/CurrencyList.d.ts +1 -1
  65. package/build/components/InputBase/PhoneInputBase/CountriesList/CountriesList.d.ts +1 -1
  66. package/build/components/InputBase/PhoneInputBase/PhoneInputBase.d.ts +1 -1
  67. package/build/components/InputBase/SelectBase/DefaultClearIcon.d.ts +5 -0
  68. package/build/components/InputBase/SelectBase/DefaultSelectIcon.d.ts +5 -0
  69. package/build/components/InputBase/SelectBase/SelectBase.d.ts +11 -1
  70. package/build/components/InputBase/SelectBase/SelectBaseMultiple.d.ts +7 -1
  71. package/build/components/InputBase/SelectBase/hasSelectionValue.d.ts +2 -0
  72. package/build/components/InputBase/index.js +1 -1
  73. package/build/components/Inputs/CountriesDropDown/CountriesDropdown.d.ts +1 -1
  74. package/build/components/Inputs/SearchInput/SearchInput.d.ts +1 -1
  75. package/build/components/JSONViewer/components/JSONSearchBar/styles.d.ts +0 -1
  76. package/build/components/JSONViewer/style.d.ts +0 -1
  77. package/build/components/LanguageDropdown/index.js +1 -1
  78. package/build/components/LeftPeekRightExpandingChip/style.d.ts +0 -1
  79. package/build/components/ListColumnFilter/ListColumnFilter.d.ts +1 -1
  80. package/build/components/ListColumnFilter/index.js +1 -1
  81. package/build/components/MainContainer/MainContainer.d.ts +1 -1
  82. package/build/components/MaskedText/type.d.ts +1 -1
  83. package/build/components/MerchantCurrencyDropdown/MerchantCurrencyDropdown.d.ts +1 -1
  84. package/build/components/MerchantCurrencyDropdown/index.js +1 -1
  85. package/build/components/MerchantLogo/index.js +1 -1
  86. package/build/components/MerchantLogo/style.d.ts +1 -1
  87. package/build/components/MerchantsDropdown/BrandItem.d.ts +1 -1
  88. package/build/components/MerchantsDropdown/EntityItem.d.ts +1 -1
  89. package/build/components/MerchantsDropdown/EntityList.d.ts +1 -1
  90. package/build/components/MerchantsDropdown/MerchantItem.d.ts +2 -2
  91. package/build/components/MerchantsDropdown/MerchantsList.d.ts +1 -1
  92. package/build/components/MerchantsDropdown/hooks.d.ts +1 -1
  93. package/build/components/MerchantsDropdown/index.js +1 -1
  94. package/build/components/MerchantsDropdown/type.d.ts +1 -1
  95. package/build/components/MultiSelectDropdownButton/components/StatusButton.d.ts +1 -1
  96. package/build/components/MultiSelectDropdownButton/type.d.ts +1 -1
  97. package/build/components/MultiSelectStatusButton/style.d.ts +1 -1
  98. package/build/components/MultiSelectStatusButton/type.d.ts +1 -1
  99. package/build/components/NestedDropdown/NestedDropdown.d.ts +1 -1
  100. package/build/components/NestedDropdown/NestedMenuItem.d.ts +1 -1
  101. package/build/components/NestedDropdown/types.d.ts +1 -1
  102. package/build/components/PartnersFilter/index.js +1 -1
  103. package/build/components/PaymentSourceFilter/AuthenticationMode.d.ts +1 -1
  104. package/build/components/PaymentSourceFilter/PaymentInitiated.d.ts +2 -2
  105. package/build/components/PaymentSourceFilter/PaymentMethod.d.ts +1 -1
  106. package/build/components/PaymentSourceFilter/PaymentMethods.d.ts +1 -1
  107. package/build/components/PaymentSourceFilter/PaymentSchemes.d.ts +1 -1
  108. package/build/components/PaymentSourceFilter/PaymentSourceFilter.d.ts +3 -3
  109. package/build/components/PaymentSourceFilter/index.js +1 -1
  110. package/build/components/PhoneFilter/PhoneFilter.d.ts +1 -1
  111. package/build/components/PhoneFilter/index.js +1 -1
  112. package/build/components/RFH/Inputs/AmountInput/type.d.ts +1 -1
  113. package/build/components/RFH/Inputs/FormInput/FormInput.d.ts +1 -1
  114. package/build/components/RFH/Inputs/FormSelect/FormSelect.d.ts +2 -2
  115. package/build/components/RFH/Inputs/FormSelect/type.d.ts +1 -1
  116. package/build/components/RFH/Inputs/MultiSelect/MultiSelect.d.ts +0 -4
  117. package/build/components/RFH/Inputs/MultiSelect/style.d.ts +3 -0
  118. package/build/components/RFH/Inputs/PhoneInput/PhoneInput.d.ts +1 -1
  119. package/build/components/RFH/index.js +1 -1
  120. package/build/components/RangeCalender/components/Hijri/Hijri.d.ts +1 -1
  121. package/build/components/RangeCalender/components/Timezone/Timezone.d.ts +1 -1
  122. package/build/components/RangeCalender/components/Timezone/components/EntitiesTimezone.d.ts +1 -1
  123. package/build/components/RangeCalender/components/Timezone/components/UserTimezone.d.ts +1 -1
  124. package/build/components/RangeCalender/index.js +1 -1
  125. package/build/components/RangeCalender/type.d.ts +1 -1
  126. package/build/components/ReceiptsViewer/ReceiptsViewer.d.ts +1 -1
  127. package/build/components/ReceiptsViewer/index.js +1 -1
  128. package/build/components/ReceiptsViewer/type.d.ts +1 -1
  129. package/build/components/ReferenceTypeFilter/ReferenceTypeFilter.d.ts +1 -1
  130. package/build/components/ReferenceTypeFilter/index.js +1 -1
  131. package/build/components/RightLeftExpandingCenterChip/style.d.ts +0 -1
  132. package/build/components/SalesChannelFilter/SalesChannelFilter.d.ts +1 -1
  133. package/build/components/SalesChannelFilter/index.js +1 -1
  134. package/build/components/Sandbox/Sandbox.d.ts +1 -1
  135. package/build/components/SearchButton/styles.d.ts +0 -1
  136. package/build/components/SelectDropdown/index.js +1 -1
  137. package/build/components/SelectWithSearch/SelectWithSearch.d.ts +1 -1
  138. package/build/components/SelectWithSearch/index.js +1 -1
  139. package/build/components/SelectWithSearch/type.d.ts +7 -2
  140. package/build/components/StatusBar/StatusBar.d.ts +1 -1
  141. package/build/components/StatusBar/type.d.ts +2 -2
  142. package/build/components/StatusButton/type.d.ts +1 -1
  143. package/build/components/StatusChipWithCopy/StatusChipWithCopy.d.ts +2 -2
  144. package/build/components/StatusChipWithCopy/utils.d.ts +1 -1
  145. package/build/components/StatusFilter/StatusFilter.d.ts +2 -2
  146. package/build/components/StatusFilter/index.js +1 -1
  147. package/build/components/StatusFilter/utils.d.ts +1 -1
  148. package/build/components/StatusGroupChips/style.d.ts +1 -1
  149. package/build/components/StatusGroupChips/type.d.ts +1 -1
  150. package/build/components/StatusIcons/AuthIcons/constants.d.ts +1 -1
  151. package/build/components/StatusIcons/AuthIcons/style.d.ts +0 -1
  152. package/build/components/StatusIcons/AuthIcons/type.d.ts +1 -1
  153. package/build/components/StatusIcons/AuthorizationAutoIcons/style.d.ts +0 -1
  154. package/build/components/StatusIcons/AuthorizationAutoIcons/type.d.ts +1 -1
  155. package/build/components/StatusIcons/AuthorizedIcon/AuthorizedIcon.d.ts +2 -2
  156. package/build/components/StatusIcons/ChargeStatusIcon/ChargeStatusIcon.d.ts +2 -2
  157. package/build/components/StatusIcons/ChargeStatusIcon/style.d.ts +0 -1
  158. package/build/components/StatusIcons/DestinationIcon/DestinationIcon.d.ts +1 -1
  159. package/build/components/StatusIcons/DeviceIcon/DeviceIcon.d.ts +1 -1
  160. package/build/components/StatusIcons/GeographyIcon/style.d.ts +1 -1
  161. package/build/components/StatusIcons/IssuerIcon/style.d.ts +1 -1
  162. package/build/components/StatusIcons/IssuerIcon/type.d.ts +1 -1
  163. package/build/components/StatusIcons/PayoutIcon/PayoutIcon.d.ts +2 -2
  164. package/build/components/StatusIcons/RefundIcon/RefundIcon.d.ts +2 -2
  165. package/build/components/StatusIcons/SourceIcons/style.d.ts +0 -1
  166. package/build/components/StatusIcons/SourceIcons/type.d.ts +1 -1
  167. package/build/components/StatusIcons/index.js +1 -1
  168. package/build/components/TableCells/CustomCells/ActionCell/components/ActionsColumn.d.ts +1 -1
  169. package/build/components/TableCells/CustomCells/ActionCell/constant.d.ts +1 -1
  170. package/build/components/TableCells/CustomCells/ActionCell/style.d.ts +1 -2
  171. package/build/components/TableCells/CustomCells/AgreementCell/style.d.ts +0 -1
  172. package/build/components/TableCells/CustomCells/AmountCell/components/ConversionTypeLabel.d.ts +1 -1
  173. package/build/components/TableCells/CustomCells/AmountCell/components/CurrencyInfo.d.ts +1 -1
  174. package/build/components/TableCells/CustomCells/AmountCell/style.d.ts +1 -1
  175. package/build/components/TableCells/CustomCells/AmountCell/type.d.ts +1 -1
  176. package/build/components/TableCells/CustomCells/ApplicationStatusCell/style.d.ts +0 -1
  177. package/build/components/TableCells/CustomCells/AuthenticationCell/style.d.ts +0 -1
  178. package/build/components/TableCells/CustomCells/AuthenticationStatusCell/style.d.ts +0 -1
  179. package/build/components/TableCells/CustomCells/AuthenticationTypeCell/style.d.ts +0 -1
  180. package/build/components/TableCells/CustomCells/BalanceCell/style.d.ts +0 -1
  181. package/build/components/TableCells/CustomCells/BalanceCell/type.d.ts +1 -1
  182. package/build/components/TableCells/CustomCells/ChannelsCell/style.d.ts +0 -1
  183. package/build/components/TableCells/CustomCells/CheckoutStatusCell/style.d.ts +0 -1
  184. package/build/components/TableCells/CustomCells/CustomerCell/style.d.ts +1 -1
  185. package/build/components/TableCells/CustomCells/DateCell/DateCell.d.ts +1 -1
  186. package/build/components/TableCells/CustomCells/DestinationCell/styled.d.ts +1 -1
  187. package/build/components/TableCells/CustomCells/DestinationCell/type.d.ts +1 -1
  188. package/build/components/TableCells/CustomCells/DestinationStatusCell/constant.d.ts +1 -1
  189. package/build/components/TableCells/CustomCells/DestinationStatusCell/style.d.ts +0 -1
  190. package/build/components/TableCells/CustomCells/DueDateCell/style.d.ts +0 -1
  191. package/build/components/TableCells/CustomCells/IDButton/style.d.ts +0 -1
  192. package/build/components/TableCells/CustomCells/IntentsStatusCell/style.d.ts +0 -1
  193. package/build/components/TableCells/CustomCells/InvoiceStatusCell/ChargeStatusIcon.d.ts +1 -1
  194. package/build/components/TableCells/CustomCells/InvoiceStatusCell/style.d.ts +0 -1
  195. package/build/components/TableCells/CustomCells/OrdersCell/OrdersCellSheet.d.ts +1 -1
  196. package/build/components/TableCells/CustomCells/PaymentAgreementCell/type.d.ts +1 -1
  197. package/build/components/TableCells/CustomCells/PayoutReportCell/style.d.ts +0 -1
  198. package/build/components/TableCells/CustomCells/PayoutStatusCell/style.d.ts +0 -1
  199. package/build/components/TableCells/CustomCells/ProductsCell/style.d.ts +0 -1
  200. package/build/components/TableCells/CustomCells/ReferenceCell/style.d.ts +0 -1
  201. package/build/components/TableCells/CustomCells/RefundChargeCell/style.d.ts +0 -1
  202. package/build/components/TableCells/CustomCells/RefundStatusCell/style.d.ts +0 -1
  203. package/build/components/TableCells/CustomCells/RefundStatusCell/type.d.ts +1 -1
  204. package/build/components/TableCells/CustomCells/SalesChannelCell/style.d.ts +0 -1
  205. package/build/components/TableCells/CustomCells/SalesChannelCell/type.d.ts +1 -1
  206. package/build/components/TableCells/CustomCells/SalesChannelCell/utils.d.ts +1 -1
  207. package/build/components/TableCells/CustomCells/SegmentsCell/style.d.ts +0 -1
  208. package/build/components/TableCells/CustomCells/SourceCell/components/AuthenticationMode/AuthenticationMode.d.ts +1 -1
  209. package/build/components/TableCells/CustomCells/StatusCell/constant.d.ts +1 -1
  210. package/build/components/TableCells/CustomCells/StatusCell/style.d.ts +0 -1
  211. package/build/components/TableCells/CustomCells/TextWithChipCell/TextWithChipCell.d.ts +2 -2
  212. package/build/components/TableCells/CustomCells/TokenStatusCell/style.d.ts +0 -1
  213. package/build/components/TableCells/CustomCells/style.d.ts +0 -1
  214. package/build/components/TableCells/CustomCells/type.d.ts +2 -2
  215. package/build/components/TableCells/index.js +1 -1
  216. package/build/components/TableHeader/TableHeader.d.ts +1 -1
  217. package/build/components/TableHeader/TableModeButton.d.ts +1 -1
  218. package/build/components/TableHeader/TableView/ColumnItem.d.ts +1 -1
  219. package/build/components/TableHeader/TableView/hooks/useColumnItem.d.ts +1 -1
  220. package/build/components/TableHeader/TableView/hooks/useCreateViewDialog.d.ts +1 -1
  221. package/build/components/TableHeader/TableView/hooks/useCustomTableViews.d.ts +1 -1
  222. package/build/components/TableHeader/TableView/hooks/useOriginalColumns.d.ts +1 -1
  223. package/build/components/TableHeader/TableView/hooks/useViewColumns.d.ts +1 -1
  224. package/build/components/TableHeader/TableView/hooks/useViewsManager.d.ts +1 -1
  225. package/build/components/TableHeader/TableView/hooks/useViewsMenu.d.ts +1 -1
  226. package/build/components/TableHeader/TableView/types.d.ts +1 -1
  227. package/build/components/TableHeader/TableView/utils/columnState.d.ts +1 -1
  228. package/build/components/TableHeader/TableView/utils/customTableViews.d.ts +1 -1
  229. package/build/components/TableHeader/TableView/utils/layoutTransform.d.ts +1 -1
  230. package/build/components/TableHeader/TableView/utils/templateToColumnsView.d.ts +1 -1
  231. package/build/components/TableHeader/TableView/utils/viewMenu.d.ts +1 -1
  232. package/build/components/TableHeader/index.js +1 -1
  233. package/build/components/TableHeader/type.d.ts +3 -3
  234. package/build/components/TableReports/components/DownloadButton/style.d.ts +0 -1
  235. package/build/components/TableReports/index.js +1 -1
  236. package/build/components/TableReports/style.d.ts +0 -1
  237. package/build/components/TooltipChip/TooltipChip.d.ts +2 -2
  238. package/build/components/TooltipChip/style.d.ts +1 -1
  239. package/build/components/TreeDropdown/TreeNodeItem/style.d.ts +1 -1
  240. package/build/components/TreeDropdown/index.js +1 -1
  241. package/build/components/TreeDropdown/type.d.ts +1 -1
  242. package/build/components/VAT/TotalVAT/TotalVAT.d.ts +1 -1
  243. package/build/components/VAT/VATDropdown/VATDropdown.d.ts +1 -1
  244. package/build/components/VAT/VATRateDropdown/VATRateDropdown.d.ts +1 -1
  245. package/build/components/VAT/index.js +1 -1
  246. package/build/components/VAT/utils.d.ts +1 -1
  247. package/build/components/VerificationIcon/index.js +1 -1
  248. package/build/components/ViewColumnRadioFilter/index.js +1 -1
  249. package/build/components/VirtualTables/SheetViewVirtualTable/components/SheetViewTableHeaderCell.d.ts +1 -1
  250. package/build/components/VirtualTables/SheetViewVirtualTable/components/SheetViewTableLoading.d.ts +1 -1
  251. package/build/components/VirtualTables/SheetViewVirtualTable/components/SheetViewTableNoData.d.ts +1 -1
  252. package/build/components/VirtualTables/SheetViewVirtualTable/components/SheetViewTableRowLoading.d.ts +1 -1
  253. package/build/components/VirtualTables/SheetViewVirtualTable/components/VirtualTable.d.ts +1 -1
  254. package/build/components/VirtualTables/SheetViewVirtualTable/features/resize/hooks/useColumnResizeWithPinned.d.ts +13 -13
  255. package/build/components/VirtualTables/SheetViewVirtualTable/features/resize/types/index.d.ts +1 -1
  256. package/build/components/VirtualTables/SheetViewVirtualTable/features/resize/utils/resize.d.ts +1 -1
  257. package/build/components/VirtualTables/SheetViewVirtualTable/hooks/usePinnedColumns.d.ts +1 -1
  258. package/build/components/VirtualTables/SheetViewVirtualTable/hooks/usePinnedColumnsWidths.d.ts +1 -1
  259. package/build/components/VirtualTables/SheetViewVirtualTable/hooks/useVirtualTableContainer.d.ts +1 -1
  260. package/build/components/VirtualTables/SheetViewVirtualTable/types.d.ts +1 -1
  261. package/build/components/VirtualTables/VirtualTable/VirtualTable.d.ts +1 -1
  262. package/build/components/VirtualTables/VirtualTableWithCard/VirtualTableWithCard.d.ts +1 -1
  263. package/build/components/VirtualTables/components/ColumnFilter/Inputs/Inputs.d.ts +1 -1
  264. package/build/components/VirtualTables/components/ColumnFilter/List/List.d.ts +1 -1
  265. package/build/components/VirtualTables/components/ColumnFilter/type.d.ts +1 -1
  266. package/build/components/VirtualTables/components/ColumnSort/ColumnSort.d.ts +1 -1
  267. package/build/components/VirtualTables/components/TableFooter/TableFooter.d.ts +1 -1
  268. package/build/components/VirtualTables/components/TableHeader/components/TableCell/TableCell.d.ts +2 -2
  269. package/build/components/VirtualTables/components/TableHeader/type.d.ts +1 -1
  270. package/build/components/VirtualTables/components/TableLoading.d.ts +1 -1
  271. package/build/components/VirtualTables/components/TableNoData.d.ts +1 -1
  272. package/build/components/VirtualTables/components/TableNoDataWithCard.d.ts +1 -1
  273. package/build/components/VirtualTables/components/TableRow.d.ts +1 -1
  274. package/build/components/VirtualTables/components/TableRowLoading.d.ts +1 -1
  275. package/build/components/VirtualTables/components/style.d.ts +0 -1
  276. package/build/components/VirtualTables/components/virtualScroll/ListItemWrapper.d.ts +1 -1
  277. package/build/components/VirtualTables/hooks/useColumnFilter.d.ts +1 -1
  278. package/build/components/WindowSideBar/index.js +1 -1
  279. package/build/components/index.js +1 -1
  280. package/build/constants/segment.d.ts +1 -1
  281. package/build/constants/timezones.d.ts +1 -1
  282. package/build/demo/TapOSIconsGallery/style.d.ts +1 -1
  283. package/build/docs/.storybook/story-utils.d.ts +19 -0
  284. package/build/docs/.storybook/story-utils.js +96 -0
  285. package/build/hooks/useAppsInfo.d.ts +3 -3
  286. package/build/hooks/useIsParameterSelected.d.ts +1 -1
  287. package/build/hooks/useSelectedMerchantDetails.d.ts +2 -2
  288. package/build/hooks/useToast.d.ts +1 -1
  289. package/build/index.js +1 -1
  290. package/build/theme/theme.d.ts +1 -1
  291. package/build/theme/typography.d.ts +1 -1
  292. package/build/types/appEvents.d.ts +1 -1
  293. package/build/types/apps.d.ts +1 -1
  294. package/build/types/cell.d.ts +2 -2
  295. package/build/types/document.d.ts +1 -1
  296. package/build/types/invoice.d.ts +1 -1
  297. package/build/types/refund.d.ts +1 -1
  298. package/build/types/table.d.ts +2 -2
  299. package/build/types/toggleOptions.d.ts +1 -1
  300. package/build/types/views.d.ts +1 -1
  301. package/build/utils/billing.d.ts +1 -1
  302. package/build/utils/columns.d.ts +1 -1
  303. package/build/utils/conversion.d.ts +1 -1
  304. package/build/utils/currency.d.ts +1 -1
  305. package/build/utils/day.d.ts +1 -1
  306. package/build/utils/entity.d.ts +1 -1
  307. package/build/utils/error.d.ts +1 -1
  308. package/build/utils/file.d.ts +1 -1
  309. package/build/utils/freshdesk.d.ts +1 -1
  310. package/build/utils/language.d.ts +1 -1
  311. package/build/utils/localStorage.d.ts +1 -1
  312. package/build/utils/merchant.d.ts +1 -1
  313. package/build/utils/merchantSource.d.ts +1 -1
  314. package/build/utils/navigation.d.ts +3 -3
  315. package/build/utils/segment.d.ts +1 -1
  316. package/build/utils/skeletonColumns.d.ts +1 -1
  317. package/build/utils/table.d.ts +1 -1
  318. package/build/utils/views.d.ts +1 -1
  319. package/docs/.storybook/main.ts +23 -0
  320. package/docs/.storybook/preview.tsx +106 -0
  321. package/docs/.storybook/story-utils.tsx +196 -0
  322. package/docs/01-overview.md +158 -0
  323. package/docs/02-setup.md +326 -0
  324. package/docs/03-architecture.md +438 -0
  325. package/docs/04-component-guide.md +133 -0
  326. package/docs/05-component-development.md +173 -0
  327. package/docs/README.md +38 -0
  328. package/docs/stories/components/Accordion.stories.tsx +302 -0
  329. package/docs/stories/components/AccordionAdapter.stories.tsx +201 -0
  330. package/docs/stories/components/AccountDropdown.stories.tsx +113 -0
  331. package/docs/stories/components/AnimatedSpinnerIcon.stories.tsx +54 -0
  332. package/docs/stories/components/BackgroundAnimation.stories.tsx +139 -0
  333. package/docs/stories/components/BetaBanner.stories.tsx +170 -0
  334. package/docs/stories/components/Button.stories.tsx +132 -0
  335. package/docs/stories/components/CardEmptyState.stories.tsx +43 -0
  336. package/docs/stories/components/CardHeadline.stories.tsx +208 -0
  337. package/docs/stories/components/Chip.stories.tsx +106 -0
  338. package/docs/stories/components/CircularProgressWithLabel.stories.tsx +111 -0
  339. package/docs/stories/components/Collapse.stories.tsx +100 -0
  340. package/docs/stories/components/CountBadge.stories.tsx +115 -0
  341. package/docs/stories/components/CountryFlag.stories.tsx +91 -0
  342. package/docs/stories/components/CurrencySymbol.stories.tsx +108 -0
  343. package/docs/stories/components/DeviceIcon.stories.tsx +122 -0
  344. package/docs/stories/components/Dialog.stories.tsx +270 -0
  345. package/docs/stories/components/DisplayAmount.stories.tsx +102 -0
  346. package/docs/stories/components/DockButton.stories.tsx +118 -0
  347. package/docs/stories/components/ExpandableSideBar.stories.tsx +120 -0
  348. package/docs/stories/components/FlippingCard.stories.tsx +122 -0
  349. package/docs/stories/components/HeatMap.stories.tsx +199 -0
  350. package/docs/stories/components/IconWithBadge.stories.tsx +136 -0
  351. package/docs/stories/components/JSONViewer.stories.tsx +92 -0
  352. package/docs/stories/components/LeftPeekRightExpandingChip.stories.tsx +127 -0
  353. package/docs/stories/components/Loader.stories.tsx +116 -0
  354. package/docs/stories/components/NoInternet.stories.tsx +43 -0
  355. package/docs/stories/components/ProgressBar.stories.tsx +99 -0
  356. package/docs/stories/components/ProgressRing.stories.tsx +139 -0
  357. package/docs/stories/components/SimpleDialog.stories.tsx +170 -0
  358. package/docs/stories/components/Skeleton.stories.tsx +253 -0
  359. package/docs/stories/components/StatusButton.stories.tsx +84 -0
  360. package/docs/stories/components/StatusChip.stories.tsx +149 -0
  361. package/docs/stories/components/StatusLabel.stories.tsx +85 -0
  362. package/docs/stories/components/Text.stories.tsx +110 -0
  363. package/docs/stories/components/Toaster.stories.tsx +65 -0
  364. package/docs/stories/components/Tooltip.stories.tsx +218 -0
  365. package/docs/stories/components/TooltipChip.stories.tsx +104 -0
  366. package/docs/stories/components/WindowAppIcon.stories.tsx +76 -0
  367. package/docs/stories/components/inputs/ActionMenu.stories.tsx +125 -0
  368. package/docs/stories/components/inputs/AmountInput.stories.tsx +103 -0
  369. package/docs/stories/components/inputs/Autocomplete.stories.tsx +209 -0
  370. package/docs/stories/components/inputs/Calender.stories.tsx +105 -0
  371. package/docs/stories/components/inputs/Checkbox.stories.tsx +78 -0
  372. package/docs/stories/components/inputs/ColorPicker.stories.tsx +160 -0
  373. package/docs/stories/components/inputs/CopyImage.stories.tsx +116 -0
  374. package/docs/stories/components/inputs/CountryFilter.stories.tsx +100 -0
  375. package/docs/stories/components/inputs/CurrencyFilter.stories.tsx +140 -0
  376. package/docs/stories/components/inputs/DateFilter.stories.tsx +144 -0
  377. package/docs/stories/components/inputs/DropdownButton.stories.tsx +187 -0
  378. package/docs/stories/components/inputs/DropdownMenu.stories.tsx +282 -0
  379. package/docs/stories/components/inputs/FormSelect.stories.tsx +235 -0
  380. package/docs/stories/components/inputs/IOSSwitch.stories.tsx +95 -0
  381. package/docs/stories/components/inputs/Input.stories.tsx +121 -0
  382. package/docs/stories/components/inputs/InputNumber.stories.tsx +163 -0
  383. package/docs/stories/components/inputs/MerchantCurrencyDropdown.stories.tsx +192 -0
  384. package/docs/stories/components/inputs/MultiSelect.stories.tsx +369 -0
  385. package/docs/stories/components/inputs/MultiSelectWithSearch.stories.tsx +141 -0
  386. package/docs/stories/components/inputs/NestedDropdown.stories.tsx +143 -0
  387. package/docs/stories/components/inputs/OTPInput.stories.tsx +140 -0
  388. package/docs/stories/components/inputs/PartnersFilter.stories.tsx +114 -0
  389. package/docs/stories/components/inputs/RadioButton.stories.tsx +135 -0
  390. package/docs/stories/components/inputs/RadioGroup.stories.tsx +145 -0
  391. package/docs/stories/components/inputs/RangeCalender.stories.tsx +179 -0
  392. package/docs/stories/components/inputs/SearchListInput.stories.tsx +87 -0
  393. package/docs/stories/components/inputs/SelectDropdown.stories.tsx +153 -0
  394. package/docs/stories/components/inputs/SelectWithSearch.stories.tsx +290 -0
  395. package/docs/stories/components/inputs/Timepicker.stories.tsx +91 -0
  396. package/docs/stories/components/inputs/ToggleButtons.stories.tsx +242 -0
  397. package/package.json +4 -3
  398. package/build/chunk-CC4HU4H6.js +0 -1
  399. package/build/chunk-NET3U5QO.js +0 -1
  400. package/build/chunk-QLEUEVEZ.js +0 -1
@@ -0,0 +1,115 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+ import Box from '@mui/material/Box'
3
+ import CountBadge from '@components/CountBadge'
4
+ import { BadgeVariants } from '@components/CountBadge/type'
5
+ import { StoryTable, StoryThead, StoryTbody, StoryRow, StoryHeaderCell, StoryRowLabel, StoryCell, StoryHint } from '@storybook-utils'
6
+
7
+ const meta: Meta<typeof CountBadge> = {
8
+ title: 'Components/CountBadge',
9
+ component: CountBadge,
10
+ tags: ['autodocs'],
11
+ argTypes: {
12
+ variant: {
13
+ control: 'select',
14
+ options: Object.values(BadgeVariants),
15
+ description: 'Color variant of the badge',
16
+ },
17
+ compact: { control: 'boolean', description: 'Smaller padding' },
18
+ round: { control: 'boolean', description: 'Fully rounded pill shape' },
19
+ pointer: { control: 'boolean', description: 'Shows pointer cursor' },
20
+ },
21
+ parameters: {
22
+ layout: 'padded',
23
+ controls: { expanded: true },
24
+ },
25
+ decorators: [
26
+ (Story) => (
27
+ <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%', py: 2 }}>
28
+ <Story />
29
+ </Box>
30
+ ),
31
+ ],
32
+ }
33
+
34
+ export default meta
35
+ type Story = StoryObj<typeof CountBadge>
36
+
37
+ // ──────────────────────────────────────────────
38
+ // Focused stories
39
+
40
+ export const Base: Story = {
41
+ args: { variant: BadgeVariants.DEFAULT, children: '12' },
42
+ }
43
+
44
+ export const Compact: Story = {
45
+ args: { variant: BadgeVariants.PRIMARY, compact: true, children: '5' },
46
+ }
47
+
48
+ export const Round: Story = {
49
+ args: { variant: BadgeVariants.DARK, round: true, children: '99' },
50
+ }
51
+
52
+ export const Inactive: Story = {
53
+ args: { variant: BadgeVariants.INACTIVE, children: '0' },
54
+ }
55
+
56
+ // ──────────────────────────────────────────────
57
+ // Kitchen sink
58
+
59
+ const tableColumns = ['VARIANT', 'DEFAULT', 'COMPACT', 'ROUND'] as const
60
+
61
+ const variantRows: Array<{ label: string; variant: BadgeVariants }> = [
62
+ { label: 'Default', variant: BadgeVariants.DEFAULT },
63
+ { label: 'Primary', variant: BadgeVariants.PRIMARY },
64
+ { label: 'Secondary', variant: BadgeVariants.SECONDARY },
65
+ { label: 'Dark', variant: BadgeVariants.DARK },
66
+ { label: 'Inactive', variant: BadgeVariants.INACTIVE },
67
+ { label: 'Active', variant: BadgeVariants.ACTIVE },
68
+ { label: 'Neutral', variant: BadgeVariants.NEUTRAL },
69
+ { label: 'Gray', variant: BadgeVariants.GRAY },
70
+ { label: 'Orange', variant: BadgeVariants.ORANGE },
71
+ { label: 'Red', variant: BadgeVariants.RED },
72
+ ]
73
+
74
+ export const AllVariants: Story = {
75
+ name: 'all variants',
76
+ decorators: [],
77
+ render: () => (
78
+ <Box sx={{ maxWidth: 960, mx: 'auto' }}>
79
+ <StoryTable>
80
+ <StoryThead>
81
+ <StoryRow>
82
+ {tableColumns.map((header, index) => (
83
+ <StoryHeaderCell key={header} first={index === 0}>
84
+ {header}
85
+ </StoryHeaderCell>
86
+ ))}
87
+ </StoryRow>
88
+ </StoryThead>
89
+
90
+ <StoryTbody>
91
+ {variantRows.map(({ label, variant }) => (
92
+ <StoryRow key={variant}>
93
+ <StoryRowLabel>{label}</StoryRowLabel>
94
+ <StoryCell>
95
+ <CountBadge variant={variant}>42</CountBadge>
96
+ </StoryCell>
97
+ <StoryCell>
98
+ <CountBadge variant={variant} compact>
99
+ 42
100
+ </CountBadge>
101
+ </StoryCell>
102
+ <StoryCell>
103
+ <CountBadge variant={variant} round>
104
+ 42
105
+ </CountBadge>
106
+ </StoryCell>
107
+ </StoryRow>
108
+ ))}
109
+ </StoryTbody>
110
+ </StoryTable>
111
+
112
+ <StoryHint>Use the Controls panel to change variant, compact, and round props.</StoryHint>
113
+ </Box>
114
+ ),
115
+ }
@@ -0,0 +1,91 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+ import Box from '@mui/material/Box'
3
+ import CountryFlag from '@components/CountryFlag'
4
+ import { StoryTable, StoryThead, StoryTbody, StoryRow, StoryHeaderCell, StoryRowLabel, StoryCell, StoryHint } from '@storybook-utils'
5
+
6
+ const meta: Meta<typeof CountryFlag> = {
7
+ title: 'Components/CountryFlag',
8
+ component: CountryFlag,
9
+ tags: ['autodocs'],
10
+ argTypes: {
11
+ countryCode: { control: 'text', description: 'ISO 3166-1 alpha-2 country code (e.g. "US", "GB")' },
12
+ currencyCode: { control: 'text', description: 'ISO 4217 currency code (e.g. "USD", "EUR")' },
13
+ width: { control: 'number', description: 'Width in px (default 16)' },
14
+ },
15
+ parameters: {
16
+ layout: 'padded',
17
+ controls: { expanded: true },
18
+ },
19
+ decorators: [
20
+ (Story) => (
21
+ <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%', py: 2 }}>
22
+ <Story />
23
+ </Box>
24
+ ),
25
+ ],
26
+ }
27
+
28
+ export default meta
29
+ type Story = StoryObj<typeof CountryFlag>
30
+
31
+ // ──────────────────────────────────────────────
32
+ // Focused stories
33
+
34
+ export const ByCountryCode: Story = {
35
+ name: 'by country code',
36
+ args: { countryCode: 'KW', width: 24 },
37
+ }
38
+
39
+ export const ByCurrencyCode: Story = {
40
+ name: 'by currency code',
41
+ args: { currencyCode: 'BHD', width: 24 },
42
+ }
43
+
44
+ export const FallbackOnUnknown: Story = {
45
+ name: 'fallback on unknown code',
46
+ args: { countryCode: 'XX', width: 24 },
47
+ }
48
+
49
+ // ──────────────────────────────────────────────
50
+ // Kitchen sink
51
+
52
+ const commonCountries: Array<{ label: string; code: string }> = [
53
+ { label: 'Saudi Arabia', code: 'SA' },
54
+ { label: 'United Arab Emirates', code: 'AE' },
55
+ ]
56
+
57
+ const sizeOptions = [16, 24, 32] as const
58
+
59
+ export const AllFlags: Story = {
60
+ name: 'all flags',
61
+ decorators: [],
62
+ render: () => (
63
+ <Box sx={{ maxWidth: 640, mx: 'auto' }}>
64
+ <StoryTable>
65
+ <StoryThead>
66
+ <StoryRow>
67
+ <StoryHeaderCell first>COUNTRY</StoryHeaderCell>
68
+ {sizeOptions.map((size) => (
69
+ <StoryHeaderCell key={size}>{size}px</StoryHeaderCell>
70
+ ))}
71
+ </StoryRow>
72
+ </StoryThead>
73
+
74
+ <StoryTbody>
75
+ {commonCountries.map(({ label, code }) => (
76
+ <StoryRow key={code}>
77
+ <StoryRowLabel>{label}</StoryRowLabel>
78
+ {sizeOptions.map((size) => (
79
+ <StoryCell key={size}>
80
+ <CountryFlag countryCode={code} width={size} />
81
+ </StoryCell>
82
+ ))}
83
+ </StoryRow>
84
+ ))}
85
+ </StoryTbody>
86
+ </StoryTable>
87
+
88
+ <StoryHint>Falls back to a default icon when the country code is unrecognised.</StoryHint>
89
+ </Box>
90
+ ),
91
+ }
@@ -0,0 +1,108 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+ import Box from '@mui/material/Box'
3
+ import CurrencySymbol from '@components/CurrencySymbol'
4
+ import { StoryTable, StoryThead, StoryTbody, StoryRow, StoryHeaderCell, StoryRowLabel, StoryCell, StoryHint } from '@storybook-utils'
5
+
6
+ const meta: Meta<typeof CurrencySymbol> = {
7
+ title: 'Components/CurrencySymbol',
8
+ component: CurrencySymbol,
9
+ tags: ['autodocs'],
10
+ argTypes: {
11
+ currency: { control: 'text', description: 'ISO 4217 currency code (e.g. "SAR", "AED")' },
12
+ fontSize: { control: 'number', description: 'Icon height in px' },
13
+ color: { control: 'color', description: 'Tint color — uses CSS mask when set' },
14
+ },
15
+ args: {
16
+ currency: 'SAR',
17
+ fontSize: 16,
18
+ },
19
+ parameters: {
20
+ layout: 'padded',
21
+ controls: { expanded: true },
22
+ },
23
+ decorators: [
24
+ (Story) => (
25
+ <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%', py: 2 }}>
26
+ <Story />
27
+ </Box>
28
+ ),
29
+ ],
30
+ }
31
+
32
+ export default meta
33
+ type Story = StoryObj<typeof CurrencySymbol>
34
+
35
+ // ──────────────────────────────────────────────
36
+ // Focused stories
37
+
38
+ export const SAR: Story = {
39
+ args: { currency: 'SAR' },
40
+ }
41
+
42
+ export const AED: Story = {
43
+ args: { currency: 'AED' },
44
+ }
45
+
46
+ export const WithColor: Story = {
47
+ name: 'with color tint',
48
+ args: { currency: 'SAR', color: '#1976d2', fontSize: 20 },
49
+ }
50
+
51
+ export const Unknown: Story = {
52
+ name: 'unknown currency (text fallback)',
53
+ args: { currency: 'USD' },
54
+ }
55
+
56
+ // ──────────────────────────────────────────────
57
+ // Kitchen sink
58
+
59
+ const currencies = ['SAR', 'AED', 'USD', 'EUR'] as const
60
+ const sizes = [12, 16, 20, 24] as const
61
+
62
+ const tableColumns = ['CURRENCY', ...sizes.map((s) => `${s}px`)] as const
63
+
64
+ export const AllSymbols: Story = {
65
+ name: 'all symbols',
66
+ decorators: [],
67
+ parameters: {
68
+ docs: {
69
+ source: {
70
+ language: 'tsx',
71
+ code: `
72
+ <CurrencySymbol currency="SAR" fontSize={16} />
73
+ <CurrencySymbol currency="AED" fontSize={16} />
74
+ <CurrencySymbol currency="USD" fontSize={16} /> {/* text fallback */}`.trim(),
75
+ },
76
+ },
77
+ },
78
+ render: () => (
79
+ <Box sx={{ maxWidth: 640, mx: 'auto' }}>
80
+ <StoryTable>
81
+ <StoryThead>
82
+ <StoryRow>
83
+ {tableColumns.map((header, index) => (
84
+ <StoryHeaderCell key={header} first={index === 0}>
85
+ {header}
86
+ </StoryHeaderCell>
87
+ ))}
88
+ </StoryRow>
89
+ </StoryThead>
90
+
91
+ <StoryTbody>
92
+ {currencies.map((currency) => (
93
+ <StoryRow key={currency}>
94
+ <StoryRowLabel>{currency}</StoryRowLabel>
95
+ {sizes.map((fontSize) => (
96
+ <StoryCell key={fontSize}>
97
+ <CurrencySymbol currency={currency} fontSize={fontSize} />
98
+ </StoryCell>
99
+ ))}
100
+ </StoryRow>
101
+ ))}
102
+ </StoryTbody>
103
+ </StoryTable>
104
+
105
+ <StoryHint>USD and EUR have no icon — they render as plain text fallback.</StoryHint>
106
+ </Box>
107
+ ),
108
+ }
@@ -0,0 +1,122 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite'
2
+ import Box from '@mui/material/Box'
3
+ import DeviceIcon from '@components/DeviceIcon'
4
+ import { DEVICE_ICON } from '@components/DeviceIcon/constants'
5
+ import { StoryTable, StoryThead, StoryTbody, StoryRow, StoryHeaderCell, StoryRowLabel, StoryCell, StoryHint } from '@storybook-utils'
6
+
7
+ type DeviceType = keyof typeof DEVICE_ICON
8
+
9
+ const meta: Meta<typeof DeviceIcon> = {
10
+ title: 'Components/DeviceIcon',
11
+ component: DeviceIcon,
12
+ tags: ['autodocs'],
13
+ argTypes: {
14
+ type: {
15
+ control: 'select',
16
+ options: ['DESKTOP', 'PHONE', 'TABLET'] as DeviceType[],
17
+ description: 'Device type — determines which icon is shown',
18
+ },
19
+ isTextShown: { control: 'boolean', description: 'Render a text label instead of an icon' },
20
+ },
21
+ parameters: {
22
+ layout: 'padded',
23
+ controls: { expanded: true },
24
+ },
25
+ decorators: [
26
+ (Story) => (
27
+ <Box sx={{ display: 'flex', justifyContent: 'center', width: '100%' }}>
28
+ <Story />
29
+ </Box>
30
+ ),
31
+ ],
32
+ }
33
+
34
+ export default meta
35
+ type Story = StoryObj<typeof DeviceIcon>
36
+
37
+ // ──────────────────────────────────────────────
38
+ // Focused stories
39
+
40
+ export const Desktop: Story = {
41
+ args: { type: 'DESKTOP' },
42
+ parameters: {
43
+ docs: {
44
+ source: { language: 'tsx', code: `<DeviceIcon type="DESKTOP" />` },
45
+ },
46
+ },
47
+ }
48
+
49
+ export const Phone: Story = {
50
+ args: { type: 'PHONE' },
51
+ parameters: {
52
+ docs: {
53
+ source: { language: 'tsx', code: `<DeviceIcon type="PHONE" />` },
54
+ },
55
+ },
56
+ }
57
+
58
+ export const Tablet: Story = {
59
+ args: { type: 'TABLET' },
60
+ parameters: {
61
+ docs: {
62
+ source: { language: 'tsx', code: `<DeviceIcon type="TABLET" />` },
63
+ },
64
+ },
65
+ }
66
+
67
+ export const TextLabel: Story = {
68
+ name: 'text label',
69
+ args: { type: 'DESKTOP', isTextShown: true },
70
+ parameters: {
71
+ docs: {
72
+ source: { language: 'tsx', code: `<DeviceIcon type="DESKTOP" isTextShown />` },
73
+ },
74
+ },
75
+ }
76
+
77
+ // ──────────────────────────────────────────────
78
+ // Kitchen sink
79
+
80
+ const deviceRows: Array<{ label: string; type: DeviceType }> = [
81
+ { label: 'Desktop', type: 'DESKTOP' },
82
+ { label: 'Phone', type: 'PHONE' },
83
+ { label: 'Tablet', type: 'TABLET' },
84
+ ]
85
+
86
+ const tableColumns = ['TYPE', 'ICON', 'TEXT LABEL'] as const
87
+
88
+ export const AllVariants: Story = {
89
+ name: 'all variants',
90
+ decorators: [],
91
+ render: () => (
92
+ <Box sx={{ maxWidth: 960, mx: 'auto' }}>
93
+ <StoryTable>
94
+ <StoryThead>
95
+ <StoryRow>
96
+ {tableColumns.map((header, index) => (
97
+ <StoryHeaderCell key={header} first={index === 0}>
98
+ {header}
99
+ </StoryHeaderCell>
100
+ ))}
101
+ </StoryRow>
102
+ </StoryThead>
103
+
104
+ <StoryTbody>
105
+ {deviceRows.map(({ label, type }) => (
106
+ <StoryRow key={type}>
107
+ <StoryRowLabel>{label}</StoryRowLabel>
108
+ <StoryCell>
109
+ <DeviceIcon type={type} />
110
+ </StoryCell>
111
+ <StoryCell>
112
+ <DeviceIcon type={type} isTextShown />
113
+ </StoryCell>
114
+ </StoryRow>
115
+ ))}
116
+ </StoryTbody>
117
+ </StoryTable>
118
+
119
+ <StoryHint>Hover an icon to see its device tooltip.</StoryHint>
120
+ </Box>
121
+ ),
122
+ }
@@ -0,0 +1,270 @@
1
+ import { useMemo, useRef, useState } from 'react'
2
+ import type { Meta, StoryObj } from '@storybook/react-vite'
3
+ import Box from '@mui/material/Box'
4
+ import Button from '@mui/material/Button'
5
+ import Typography from '@mui/material/Typography'
6
+ import { useDragControls } from 'framer-motion'
7
+ import Dialog, { DialogContent, DialogFooter, DialogHeader, DialogToolbar } from '@components/Dialog'
8
+ import { StoryHint } from '@storybook-utils'
9
+
10
+ const meta: Meta<typeof Dialog> = {
11
+ title: 'Components/Dialog',
12
+ component: Dialog,
13
+ tags: ['autodocs'],
14
+ argTypes: {
15
+ children: { table: { disable: true } },
16
+ dialogRef: { table: { disable: true } },
17
+ dragControls: { table: { disable: true } },
18
+ onClick: { table: { disable: true } },
19
+ style: { table: { disable: true } },
20
+ index: { control: { type: 'number', min: 0, step: 1 } },
21
+ order: { control: { type: 'number', min: 0, step: 1 } },
22
+ height: { control: { type: 'number', min: 200, step: 10 } },
23
+ },
24
+ parameters: {
25
+ layout: 'fullscreen',
26
+ controls: { expanded: true },
27
+ },
28
+ decorators: [
29
+ (Story) => (
30
+ <Box sx={{ minHeight: '85vh', width: '100%', position: 'relative' }}>
31
+ <Story />
32
+ </Box>
33
+ ),
34
+ ],
35
+ }
36
+
37
+ export default meta
38
+
39
+ type Story = StoryObj<typeof Dialog>
40
+
41
+ type DialogPreviewProps = {
42
+ title: string
43
+ subtitle: string
44
+ index: number
45
+ order: number
46
+ height?: number
47
+ onBringToFront: () => void
48
+ }
49
+
50
+ function DraggableDialogPreview({ title, subtitle, index, order, height, onBringToFront }: DialogPreviewProps) {
51
+ const dialogRef = useRef<HTMLDivElement | null>(null)
52
+ const dragControls = useDragControls()
53
+ const [closed, setClosed] = useState(false)
54
+
55
+ if (closed) {
56
+ return (
57
+ <Box sx={{ position: 'fixed', top: 24, left: '50%', transform: 'translateX(-50%)' }}>
58
+ <Button variant="outlined" size="small" onClick={() => setClosed(false)}>
59
+ Re-open {title}
60
+ </Button>
61
+ </Box>
62
+ )
63
+ }
64
+
65
+ return (
66
+ <Dialog
67
+ index={index}
68
+ order={order}
69
+ height={height}
70
+ dialogRef={dialogRef}
71
+ onClick={onBringToFront}
72
+ dragControls={dragControls}
73
+ style={{ zIndex: 2 + order }}
74
+ >
75
+ <Box onPointerDown={dragControls.start} sx={{ cursor: 'grab' }}>
76
+ <DialogToolbar title={title} onCloseDialog={() => setClosed(true)} />
77
+ </Box>
78
+
79
+ <DialogHeader>
80
+ <Typography variant="subtitle1" fontWeight={600}>
81
+ {title}
82
+ </Typography>
83
+ <Typography variant="caption" color="text.secondary">
84
+ {subtitle}
85
+ </Typography>
86
+ </DialogHeader>
87
+
88
+ <DialogContent>
89
+ <Box sx={{ px: 3, width: '100%' }}>
90
+ <Typography variant="body2" color="text.secondary">
91
+ Drag this dialog from the top toolbar. Click the close icon to hide it, then re-open from the top-right button.
92
+ </Typography>
93
+ </Box>
94
+ </DialogContent>
95
+
96
+ <DialogFooter>
97
+ <Box sx={{ display: 'flex', width: '100%', justifyContent: 'flex-end', gap: 1 }}>
98
+ <Button variant="outlined" size="small" onClick={() => setClosed(true)}>
99
+ Cancel
100
+ </Button>
101
+ <Button variant="contained" size="small">
102
+ Save
103
+ </Button>
104
+ </Box>
105
+ </DialogFooter>
106
+ </Dialog>
107
+ )
108
+ }
109
+
110
+ function BaseRender(args: Parameters<typeof Dialog>[0]) {
111
+ const [order, setOrder] = useState(args.order)
112
+
113
+ return (
114
+ <>
115
+ <DraggableDialogPreview
116
+ title="Edit filters"
117
+ subtitle="Single draggable dialog preview"
118
+ index={args.index}
119
+ order={order}
120
+ height={args.height}
121
+ onBringToFront={() => setOrder(5)}
122
+ />
123
+ <StoryHint>Drag from the toolbar area. Clicking the dialog brings it to front.</StoryHint>
124
+ </>
125
+ )
126
+ }
127
+
128
+ export const Base: Story = {
129
+ args: {
130
+ index: 0,
131
+ order: 1,
132
+ height: 420,
133
+ },
134
+ render: BaseRender,
135
+ parameters: {
136
+ docs: {
137
+ source: {
138
+ language: 'tsx',
139
+ code: `
140
+ const dragControls = useDragControls()
141
+
142
+ <Dialog index={0} order={1} onClick={() => {}} dragControls={dragControls}>
143
+ <Box onPointerDown={dragControls.start}>
144
+ <DialogToolbar title="Edit filters" onCloseDialog={() => {}} />
145
+ </Box>
146
+ <DialogHeader>...</DialogHeader>
147
+ <DialogContent>...</DialogContent>
148
+ <DialogFooter>...</DialogFooter>
149
+ </Dialog>
150
+ `.trim(),
151
+ },
152
+ },
153
+ },
154
+ }
155
+
156
+ function StackedRender() {
157
+ const [active, setActive] = useState<'first' | 'second'>('second')
158
+
159
+ const orders = useMemo(
160
+ () => ({
161
+ first: active === 'first' ? 6 : 2,
162
+ second: active === 'second' ? 6 : 2,
163
+ }),
164
+ [active]
165
+ )
166
+
167
+ return (
168
+ <>
169
+ <DraggableDialogPreview
170
+ title="Transactions"
171
+ subtitle="Click to bring this dialog to front"
172
+ index={0}
173
+ order={orders.first}
174
+ height={390}
175
+ onBringToFront={() => setActive('first')}
176
+ />
177
+ <DraggableDialogPreview
178
+ title="Filter settings"
179
+ subtitle="Second dialog in the stack"
180
+ index={1}
181
+ order={orders.second}
182
+ height={420}
183
+ onBringToFront={() => setActive('second')}
184
+ />
185
+ <StoryHint>Two dialogs are rendered together to demonstrate stack order handling.</StoryHint>
186
+ </>
187
+ )
188
+ }
189
+
190
+ export const Stacked: Story = {
191
+ name: 'stacked dialogs',
192
+ render: StackedRender,
193
+ parameters: {
194
+ docs: {
195
+ source: {
196
+ language: 'tsx',
197
+ code: `
198
+ const [active, setActive] = useState<'first' | 'second'>('second')
199
+
200
+ <Dialog index={0} order={active === 'first' ? 6 : 2} ... />
201
+ <Dialog index={1} order={active === 'second' ? 6 : 2} ... />
202
+ `.trim(),
203
+ },
204
+ },
205
+ },
206
+ }
207
+
208
+ function TallContentRender() {
209
+ const dragControls = useDragControls()
210
+ const dialogRef = useRef<HTMLDivElement | null>(null)
211
+
212
+ return (
213
+ <Dialog index={0} order={3} height={520} dialogRef={dialogRef} onClick={() => {}} dragControls={dragControls} style={{ zIndex: 8 }}>
214
+ <Box onPointerDown={dragControls.start} sx={{ cursor: 'grab' }}>
215
+ <DialogToolbar title="Large content" onCloseDialog={() => {}} />
216
+ </Box>
217
+ <DialogHeader>
218
+ <Typography variant="subtitle1" fontWeight={600}>
219
+ Scrollable content area
220
+ </Typography>
221
+ </DialogHeader>
222
+ <DialogContent>
223
+ <Box sx={{ px: 3, display: 'grid', gap: 1.5, width: '100%' }}>
224
+ {Array.from({ length: 18 }).map((_, idx) => (
225
+ <Typography key={idx} variant="body2" color="text.secondary">
226
+ Row {idx + 1}: This row simulates long content in the dialog body.
227
+ </Typography>
228
+ ))}
229
+ </Box>
230
+ </DialogContent>
231
+ <DialogFooter>
232
+ <Typography variant="caption" color="text.secondary">
233
+ Footer stays visible while content scrolls.
234
+ </Typography>
235
+ </DialogFooter>
236
+ </Dialog>
237
+ )
238
+ }
239
+
240
+ export const TallContent: Story = {
241
+ name: 'tall content',
242
+ render: TallContentRender,
243
+ parameters: {
244
+ docs: {
245
+ source: {
246
+ language: 'tsx',
247
+ code: `
248
+ const dragControls = useDragControls()
249
+
250
+ <Dialog index={0} order={3} height={520} onClick={() => {}} dragControls={dragControls}>
251
+ <Box onPointerDown={dragControls.start}>
252
+ <DialogToolbar title="Large content" onCloseDialog={() => {}} />
253
+ </Box>
254
+ <DialogHeader>
255
+ <Typography variant="subtitle1" fontWeight={600}>Scrollable content area</Typography>
256
+ </DialogHeader>
257
+ <DialogContent>
258
+ {Array.from({ length: 18 }).map((_, idx) => (
259
+ <Typography key={idx} variant="body2">Row {idx + 1}</Typography>
260
+ ))}
261
+ </DialogContent>
262
+ <DialogFooter>
263
+ <Typography variant="caption">Footer stays visible while content scrolls.</Typography>
264
+ </DialogFooter>
265
+ </Dialog>
266
+ `.trim(),
267
+ },
268
+ },
269
+ },
270
+ }