@pallasoft/ps-mobile-components 1.3.0 → 1.4.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 (348) hide show
  1. package/dist/components/ps-action-menu/ps-action-menu-entries.js +1 -0
  2. package/dist/components/ps-action-menu/ps-action-menu.android.js +19 -30
  3. package/dist/components/ps-action-sheet/ps-action-sheet.js +6 -4
  4. package/dist/components/ps-barcode-scanner-sheet/index.d.ts +2 -0
  5. package/dist/components/ps-barcode-scanner-sheet/index.js +2 -0
  6. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet-props.d.ts +11 -0
  7. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet-props.js +1 -0
  8. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet.d.ts +2 -0
  9. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet.js +82 -0
  10. package/dist/components/ps-button/ps-button.js +4 -2
  11. package/dist/components/ps-cartesian-chart/ps-cartesian-chart.js +25 -19
  12. package/dist/components/ps-checkbox/ps-checkbox.js +5 -2
  13. package/dist/components/ps-chip/ps-chip.js +3 -1
  14. package/dist/components/ps-date-field/ps-date-field.android.js +1 -1
  15. package/dist/components/ps-date-field/ps-date-field.ios.js +1 -1
  16. package/dist/components/ps-document-page/ps-document-page-props.d.ts +3 -0
  17. package/dist/components/ps-document-page/ps-document-page.d.ts +1 -1
  18. package/dist/components/ps-document-page/ps-document-page.js +16 -7
  19. package/dist/components/ps-document-page-strip/index.d.ts +2 -0
  20. package/dist/components/ps-document-page-strip/index.js +2 -0
  21. package/dist/components/ps-document-page-strip/ps-document-page-strip-props.d.ts +6 -0
  22. package/dist/components/ps-document-page-strip/ps-document-page-strip-props.js +1 -0
  23. package/dist/components/ps-document-page-strip/ps-document-page-strip.d.ts +2 -0
  24. package/dist/components/ps-document-page-strip/ps-document-page-strip.js +43 -0
  25. package/dist/components/ps-document-pdf-cover/index.d.ts +2 -0
  26. package/dist/components/ps-document-pdf-cover/index.js +2 -0
  27. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover-props.d.ts +6 -0
  28. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover-props.js +1 -0
  29. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover.d.ts +2 -0
  30. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover.js +18 -0
  31. package/dist/components/ps-document-preview/ps-document-preview.js +3 -4
  32. package/dist/components/ps-document-preview-face/index.d.ts +2 -0
  33. package/dist/components/ps-document-preview-face/index.js +2 -0
  34. package/dist/components/ps-document-preview-face/ps-document-preview-face-props.d.ts +6 -0
  35. package/dist/components/ps-document-preview-face/ps-document-preview-face-props.js +1 -0
  36. package/dist/components/ps-document-preview-face/ps-document-preview-face.d.ts +2 -0
  37. package/dist/components/ps-document-preview-face/ps-document-preview-face.js +18 -0
  38. package/dist/components/ps-document-text-page/index.d.ts +2 -0
  39. package/dist/components/ps-document-text-page/index.js +2 -0
  40. package/dist/components/ps-document-text-page/ps-document-text-page-props.d.ts +6 -0
  41. package/dist/components/ps-document-text-page/ps-document-text-page-props.js +1 -0
  42. package/dist/components/ps-document-text-page/ps-document-text-page.d.ts +2 -0
  43. package/dist/components/ps-document-text-page/ps-document-text-page.js +18 -0
  44. package/dist/components/ps-document-unsupported/index.d.ts +2 -0
  45. package/dist/components/ps-document-unsupported/index.js +2 -0
  46. package/dist/components/ps-document-unsupported/ps-document-unsupported-props.d.ts +7 -0
  47. package/dist/components/ps-document-unsupported/ps-document-unsupported-props.js +1 -0
  48. package/dist/components/ps-document-unsupported/ps-document-unsupported.d.ts +2 -0
  49. package/dist/components/ps-document-unsupported/ps-document-unsupported.js +10 -0
  50. package/dist/components/ps-document-viewer/ps-document-viewer.js +27 -7
  51. package/dist/components/ps-header-action/index.d.ts +2 -0
  52. package/dist/components/ps-header-action/index.js +2 -0
  53. package/dist/components/ps-header-action/ps-header-action-props.d.ts +6 -0
  54. package/dist/components/ps-header-action/ps-header-action-props.js +1 -0
  55. package/dist/components/ps-header-action/ps-header-action.android.d.ts +2 -0
  56. package/dist/components/ps-header-action/ps-header-action.android.js +9 -0
  57. package/dist/components/ps-header-action/ps-header-action.d.ts +2 -0
  58. package/dist/components/ps-header-action/ps-header-action.js +11 -0
  59. package/dist/components/ps-header-menu/index.d.ts +2 -0
  60. package/dist/components/ps-header-menu/index.js +2 -0
  61. package/dist/components/ps-header-menu/ps-header-menu-props.d.ts +7 -0
  62. package/dist/components/ps-header-menu/ps-header-menu-props.js +1 -0
  63. package/dist/components/ps-header-menu/ps-header-menu.android.d.ts +2 -0
  64. package/dist/components/ps-header-menu/ps-header-menu.android.js +11 -0
  65. package/dist/components/ps-header-menu/ps-header-menu.d.ts +2 -0
  66. package/dist/components/ps-header-menu/ps-header-menu.js +20 -0
  67. package/dist/components/ps-icon-button/ps-icon-button.js +7 -7
  68. package/dist/components/ps-kpi-card/ps-kpi-card.js +1 -2
  69. package/dist/components/ps-list/ps-list-action-row.js +6 -6
  70. package/dist/components/ps-list/ps-list-context-menu.android.d.ts +2 -0
  71. package/dist/components/ps-list/ps-list-context-menu.android.js +3 -0
  72. package/dist/components/ps-list/ps-list-link-menu.android.d.ts +2 -0
  73. package/dist/components/ps-list/ps-list-link-menu.android.js +7 -0
  74. package/dist/components/ps-list/ps-list-link-row.js +5 -5
  75. package/dist/components/ps-list/ps-list-props.d.ts +1 -0
  76. package/dist/components/ps-list/ps-list-row-body.d.ts +2 -2
  77. package/dist/components/ps-list/ps-list-row-body.js +7 -4
  78. package/dist/components/ps-list/ps-list-row-menu.d.ts +10 -0
  79. package/dist/components/ps-list/ps-list-row-menu.js +27 -0
  80. package/dist/components/ps-list/ps-list-row.d.ts +1 -1
  81. package/dist/components/ps-list/ps-list-row.js +2 -2
  82. package/dist/components/ps-list/ps-list-select-row.js +2 -1
  83. package/dist/components/ps-menu-popup/index.d.ts +4 -0
  84. package/dist/components/ps-menu-popup/index.js +4 -0
  85. package/dist/components/ps-menu-popup/ps-menu-popup-divider.d.ts +1 -0
  86. package/dist/components/ps-menu-popup/ps-menu-popup-divider.js +7 -0
  87. package/dist/components/ps-menu-popup/ps-menu-popup-header.d.ts +5 -0
  88. package/dist/components/ps-menu-popup/ps-menu-popup-header.js +8 -0
  89. package/dist/components/ps-menu-popup/ps-menu-popup-row.d.ts +12 -0
  90. package/dist/components/ps-menu-popup/ps-menu-popup-row.js +22 -0
  91. package/dist/components/ps-menu-popup/ps-menu-popup.d.ts +9 -0
  92. package/dist/components/ps-menu-popup/ps-menu-popup.js +35 -0
  93. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider-props.d.ts +1 -0
  94. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider.d.ts +1 -1
  95. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider.js +8 -2
  96. package/dist/components/ps-native-menu/ps-native-menu-row.js +5 -5
  97. package/dist/components/ps-native-menu/ps-native-menu.android.js +16 -24
  98. package/dist/components/ps-option-picker/ps-option-picker.js +3 -1
  99. package/dist/components/ps-page-header/ps-page-header.js +3 -1
  100. package/dist/components/ps-pallasoft-sign-in-button/ps-pallasoft-sign-in-button.js +3 -1
  101. package/dist/components/ps-screen/ps-screen.js +9 -4
  102. package/dist/components/ps-search-field/ps-search-field.js +3 -1
  103. package/dist/components/ps-segmented-control/ps-segmented-control.android.js +4 -9
  104. package/dist/components/ps-selection-mode/ps-selection-bar.d.ts +9 -0
  105. package/dist/components/ps-selection-mode/ps-selection-bar.js +49 -0
  106. package/dist/components/ps-selection-mode/ps-selection-mode.android.d.ts +2 -0
  107. package/dist/components/ps-selection-mode/ps-selection-mode.android.js +23 -0
  108. package/dist/components/ps-sheet-content/ps-sheet-content.js +1 -1
  109. package/dist/components/ps-sheet-presenter/ps-sheet-presenter.android.js +4 -4
  110. package/dist/components/ps-sortable-grid/ps-sortable-item.js +2 -0
  111. package/dist/components/ps-spinner/ps-spinner.android.d.ts +2 -0
  112. package/dist/components/ps-spinner/ps-spinner.android.js +13 -0
  113. package/dist/components/ps-switch/ps-switch.android.d.ts +2 -0
  114. package/dist/components/ps-switch/ps-switch.android.js +25 -0
  115. package/dist/components/ps-switcher/index.d.ts +2 -0
  116. package/dist/components/ps-switcher/index.js +2 -0
  117. package/dist/components/ps-switcher/ps-switcher-panel.d.ts +10 -0
  118. package/dist/components/ps-switcher/ps-switcher-panel.js +17 -0
  119. package/dist/components/ps-switcher/ps-switcher-props.d.ts +12 -0
  120. package/dist/components/ps-switcher/ps-switcher-props.js +1 -0
  121. package/dist/components/ps-switcher/ps-switcher-row.d.ts +7 -0
  122. package/dist/components/ps-switcher/ps-switcher-row.js +33 -0
  123. package/dist/components/ps-switcher/ps-switcher-trigger.d.ts +11 -0
  124. package/dist/components/ps-switcher/ps-switcher-trigger.js +35 -0
  125. package/dist/components/ps-switcher/ps-switcher.d.ts +2 -0
  126. package/dist/components/ps-switcher/ps-switcher.js +21 -0
  127. package/dist/components/ps-tab-bar-provider/ps-tab-bar-provider.js +1 -1
  128. package/dist/components/ps-tabs/ps-tabs.js +3 -1
  129. package/dist/components/ps-waterfall-chart/index.d.ts +2 -0
  130. package/dist/components/ps-waterfall-chart/index.js +2 -0
  131. package/dist/components/ps-waterfall-chart/ps-waterfall-chart-props.d.ts +9 -0
  132. package/dist/components/ps-waterfall-chart/ps-waterfall-chart-props.js +1 -0
  133. package/dist/components/ps-waterfall-chart/ps-waterfall-chart.d.ts +2 -0
  134. package/dist/components/ps-waterfall-chart/ps-waterfall-chart.js +37 -0
  135. package/dist/components/ps-widget-list/ps-widget-list.js +1 -1
  136. package/dist/constants/ps-android-state-config.d.ts +12 -0
  137. package/dist/constants/ps-android-state-config.js +12 -0
  138. package/dist/constants/ps-barcode-permission.d.ts +6 -0
  139. package/dist/constants/ps-barcode-permission.js +5 -0
  140. package/dist/constants/ps-barcode-scanner-config.d.ts +18 -0
  141. package/dist/constants/ps-barcode-scanner-config.js +31 -0
  142. package/dist/constants/ps-capture-config.d.ts +12 -0
  143. package/dist/constants/ps-capture-config.js +22 -0
  144. package/dist/constants/ps-capture-source.d.ts +7 -0
  145. package/dist/constants/ps-capture-source.js +6 -0
  146. package/dist/constants/ps-cartesian-series-shape.d.ts +5 -0
  147. package/dist/constants/ps-cartesian-series-shape.js +4 -0
  148. package/dist/constants/ps-chart-brand-config.d.ts +21 -0
  149. package/dist/constants/ps-chart-brand-config.js +10 -0
  150. package/dist/constants/ps-document-config.d.ts +3 -0
  151. package/dist/constants/ps-document-config.js +3 -0
  152. package/dist/constants/ps-document-file-config.d.ts +11 -0
  153. package/dist/constants/ps-document-file-config.js +11 -0
  154. package/dist/constants/ps-document-kind.d.ts +1 -0
  155. package/dist/constants/ps-document-kind.js +1 -0
  156. package/dist/constants/ps-document-load-status.d.ts +7 -0
  157. package/dist/constants/ps-document-load-status.js +6 -0
  158. package/dist/constants/ps-document-pdf-config.d.ts +14 -0
  159. package/dist/constants/ps-document-pdf-config.js +14 -0
  160. package/dist/constants/ps-header-config.d.ts +3 -0
  161. package/dist/constants/ps-header-config.js +3 -0
  162. package/dist/constants/ps-menu-popup-config.d.ts +10 -0
  163. package/dist/constants/ps-menu-popup-config.js +10 -0
  164. package/dist/constants/ps-quick-action-config.d.ts +4 -0
  165. package/dist/constants/ps-quick-action-config.js +4 -0
  166. package/dist/constants/ps-ripple-kind.d.ts +8 -0
  167. package/dist/constants/ps-ripple-kind.js +7 -0
  168. package/dist/constants/ps-selection-bar-config.d.ts +4 -0
  169. package/dist/constants/ps-selection-bar-config.js +4 -0
  170. package/dist/constants/ps-sortable-grid-config.d.ts +2 -1
  171. package/dist/constants/ps-sortable-grid-config.js +2 -1
  172. package/dist/constants/ps-switcher-config.d.ts +12 -0
  173. package/dist/constants/ps-switcher-config.js +12 -0
  174. package/dist/contexts/ps-tab-bar-context.js +1 -0
  175. package/dist/hooks/use-ps-barcode-scanner.d.ts +2 -0
  176. package/dist/hooks/use-ps-barcode-scanner.js +9 -0
  177. package/dist/hooks/use-ps-document-open.d.ts +3 -0
  178. package/dist/hooks/use-ps-document-open.js +14 -0
  179. package/dist/hooks/use-ps-document-pdf-cover.d.ts +3 -0
  180. package/dist/hooks/use-ps-document-pdf-cover.js +33 -0
  181. package/dist/hooks/use-ps-document-pdf-pages.d.ts +3 -0
  182. package/dist/hooks/use-ps-document-pdf-pages.js +31 -0
  183. package/dist/hooks/use-ps-document-text.d.ts +3 -0
  184. package/dist/hooks/use-ps-document-text.js +29 -0
  185. package/dist/hooks/use-ps-file-upload.d.ts +3 -0
  186. package/dist/hooks/use-ps-file-upload.js +32 -0
  187. package/dist/hooks/use-ps-header-right.d.ts +2 -0
  188. package/dist/hooks/use-ps-header-right.js +9 -0
  189. package/dist/hooks/use-ps-material-scheme.d.ts +2 -0
  190. package/dist/hooks/use-ps-material-scheme.js +3 -0
  191. package/dist/hooks/use-ps-menu-anchor.d.ts +10 -0
  192. package/dist/hooks/use-ps-menu-anchor.js +13 -0
  193. package/dist/hooks/use-ps-quick-actions.d.ts +2 -0
  194. package/dist/hooks/use-ps-quick-actions.js +30 -0
  195. package/dist/hooks/use-ps-stack-screen-options.d.ts +2 -0
  196. package/dist/hooks/use-ps-stack-screen-options.js +7 -0
  197. package/dist/hooks/use-ps-top-inset.d.ts +1 -0
  198. package/dist/hooks/use-ps-top-inset.js +10 -0
  199. package/dist/index.d.ts +44 -0
  200. package/dist/index.js +43 -0
  201. package/dist/interfaces/ps-barcode-frame-size.d.ts +4 -0
  202. package/dist/interfaces/ps-barcode-frame-size.js +1 -0
  203. package/dist/interfaces/ps-barcode-last-read.d.ts +4 -0
  204. package/dist/interfaces/ps-barcode-last-read.js +1 -0
  205. package/dist/interfaces/ps-barcode-scan.d.ts +4 -0
  206. package/dist/interfaces/ps-barcode-scan.js +1 -0
  207. package/dist/interfaces/ps-barcode-scanner-labels.d.ts +8 -0
  208. package/dist/interfaces/ps-barcode-scanner-labels.js +1 -0
  209. package/dist/interfaces/ps-barcode-scanner-native.d.ts +23 -0
  210. package/dist/interfaces/ps-barcode-scanner-native.js +1 -0
  211. package/dist/interfaces/ps-capture-labels.d.ts +6 -0
  212. package/dist/interfaces/ps-capture-labels.js +1 -0
  213. package/dist/interfaces/ps-capture-menu-options.d.ts +6 -0
  214. package/dist/interfaces/ps-capture-menu-options.js +1 -0
  215. package/dist/interfaces/ps-capture-modules.d.ts +6 -0
  216. package/dist/interfaces/ps-capture-modules.js +1 -0
  217. package/dist/interfaces/ps-capture-options.d.ts +6 -0
  218. package/dist/interfaces/ps-capture-options.js +1 -0
  219. package/dist/interfaces/ps-cartesian-chart-series.d.ts +2 -0
  220. package/dist/interfaces/ps-date-dialog-colors.d.ts +19 -0
  221. package/dist/interfaces/ps-date-dialog-colors.js +1 -0
  222. package/dist/interfaces/ps-device-file.d.ts +5 -0
  223. package/dist/interfaces/ps-device-file.js +1 -0
  224. package/dist/interfaces/ps-document-file-system.d.ts +2 -0
  225. package/dist/interfaces/ps-document-file-system.js +1 -0
  226. package/dist/interfaces/ps-document-labels.d.ts +1 -0
  227. package/dist/interfaces/ps-document-page-image.d.ts +5 -0
  228. package/dist/interfaces/ps-document-page-image.js +1 -0
  229. package/dist/interfaces/ps-document-pdf-native.d.ts +9 -0
  230. package/dist/interfaces/ps-document-pdf-native.js +1 -0
  231. package/dist/interfaces/ps-document-pdf-options.d.ts +4 -0
  232. package/dist/interfaces/ps-document-pdf-options.js +1 -0
  233. package/dist/interfaces/ps-document-pdf-state.d.ts +6 -0
  234. package/dist/interfaces/ps-document-pdf-state.js +1 -0
  235. package/dist/interfaces/ps-document-viewer-entry.d.ts +8 -0
  236. package/dist/interfaces/ps-document-viewer-entry.js +1 -0
  237. package/dist/interfaces/ps-file-upload-options.d.ts +8 -0
  238. package/dist/interfaces/ps-file-upload-options.js +1 -0
  239. package/dist/interfaces/ps-material-scheme.d.ts +38 -0
  240. package/dist/interfaces/ps-material-scheme.js +1 -0
  241. package/dist/interfaces/ps-material-segmented-colors.d.ts +14 -0
  242. package/dist/interfaces/ps-material-segmented-colors.js +1 -0
  243. package/dist/interfaces/ps-material-switch-colors.d.ts +14 -0
  244. package/dist/interfaces/ps-material-switch-colors.js +1 -0
  245. package/dist/interfaces/ps-menu-anchor.d.ts +6 -0
  246. package/dist/interfaces/ps-menu-anchor.js +1 -0
  247. package/dist/interfaces/ps-menu-item.d.ts +1 -0
  248. package/dist/interfaces/ps-menu-popup-layout.d.ts +6 -0
  249. package/dist/interfaces/ps-menu-popup-layout.js +1 -0
  250. package/dist/interfaces/ps-menu-popup-window.d.ts +4 -0
  251. package/dist/interfaces/ps-menu-popup-window.js +1 -0
  252. package/dist/interfaces/ps-mobile-theme-input.d.ts +2 -0
  253. package/dist/interfaces/ps-quick-action-native.d.ts +14 -0
  254. package/dist/interfaces/ps-quick-action-native.js +1 -0
  255. package/dist/interfaces/ps-quick-action.d.ts +7 -0
  256. package/dist/interfaces/ps-quick-action.js +1 -0
  257. package/dist/interfaces/ps-scanned-file.d.ts +2 -5
  258. package/dist/interfaces/ps-stack-screen-options.d.ts +2 -0
  259. package/dist/interfaces/ps-stack-screen-options.js +1 -0
  260. package/dist/interfaces/ps-switcher-item.d.ts +11 -0
  261. package/dist/interfaces/ps-switcher-item.js +1 -0
  262. package/dist/interfaces/ps-tab-bar-context-data.d.ts +1 -0
  263. package/dist/interfaces/ps-tab-bar-icon-colors.d.ts +4 -0
  264. package/dist/interfaces/ps-tab-bar-icon-colors.js +1 -0
  265. package/dist/interfaces/ps-tab-bar-label-style.d.ts +5 -0
  266. package/dist/interfaces/ps-tab-bar-label-style.js +1 -0
  267. package/dist/interfaces/ps-tab-bar-label-styles.d.ts +5 -0
  268. package/dist/interfaces/ps-tab-bar-label-styles.js +1 -0
  269. package/dist/interfaces/ps-tab-bar-style.d.ts +12 -0
  270. package/dist/interfaces/ps-tab-bar-style.js +1 -0
  271. package/dist/interfaces/ps-waterfall-datum.d.ts +6 -0
  272. package/dist/interfaces/ps-waterfall-datum.js +1 -0
  273. package/dist/interfaces/ps-waterfall-step.d.ts +7 -0
  274. package/dist/interfaces/ps-waterfall-step.js +1 -0
  275. package/dist/interfaces/use-ps-barcode-scanner-result.d.ts +6 -0
  276. package/dist/interfaces/use-ps-barcode-scanner-result.js +1 -0
  277. package/dist/interfaces/use-ps-document-open-result.d.ts +5 -0
  278. package/dist/interfaces/use-ps-document-open-result.js +1 -0
  279. package/dist/interfaces/use-ps-document-pdf-cover-result.d.ts +7 -0
  280. package/dist/interfaces/use-ps-document-pdf-cover-result.js +1 -0
  281. package/dist/interfaces/use-ps-document-pdf-pages-result.d.ts +5 -0
  282. package/dist/interfaces/use-ps-document-pdf-pages-result.js +1 -0
  283. package/dist/interfaces/use-ps-document-text-result.d.ts +5 -0
  284. package/dist/interfaces/use-ps-document-text-result.js +1 -0
  285. package/dist/interfaces/use-ps-file-upload-result.d.ts +8 -0
  286. package/dist/interfaces/use-ps-file-upload-result.js +1 -0
  287. package/dist/interfaces/use-ps-quick-actions-options.d.ts +5 -0
  288. package/dist/interfaces/use-ps-quick-actions-options.js +1 -0
  289. package/dist/services/ps-barcode-scanner-service.d.ts +14 -0
  290. package/dist/services/ps-barcode-scanner-service.js +53 -0
  291. package/dist/services/ps-button-style-service.d.ts +2 -0
  292. package/dist/services/ps-button-style-service.js +13 -1
  293. package/dist/services/ps-capture-picker-service.d.ts +11 -0
  294. package/dist/services/ps-capture-picker-service.js +67 -0
  295. package/dist/services/ps-capture-source-service.d.ts +10 -0
  296. package/dist/services/ps-capture-source-service.js +31 -0
  297. package/dist/services/ps-chart-brand-service.d.ts +4 -0
  298. package/dist/services/ps-chart-brand-service.js +20 -0
  299. package/dist/services/ps-chart-shape-service.d.ts +7 -0
  300. package/dist/services/ps-chart-shape-service.js +17 -0
  301. package/dist/services/ps-control-style-service.js +3 -2
  302. package/dist/services/ps-date-picker-service.d.ts +3 -0
  303. package/dist/services/ps-date-picker-service.js +21 -0
  304. package/dist/services/ps-device-file-service.d.ts +14 -0
  305. package/dist/services/ps-device-file-service.js +27 -0
  306. package/dist/services/ps-document-file-service.d.ts +10 -0
  307. package/dist/services/ps-document-file-service.js +75 -0
  308. package/dist/services/ps-document-open-service.d.ts +5 -0
  309. package/dist/services/ps-document-open-service.js +16 -0
  310. package/dist/services/ps-document-pdf-service.d.ts +10 -0
  311. package/dist/services/ps-document-pdf-service.js +40 -0
  312. package/dist/services/ps-document-text-service.d.ts +5 -0
  313. package/dist/services/ps-document-text-service.js +14 -0
  314. package/dist/services/ps-document-viewer-entry-service.d.ts +11 -0
  315. package/dist/services/ps-document-viewer-entry-service.js +72 -0
  316. package/dist/services/ps-list-row-style-service.js +2 -5
  317. package/dist/services/ps-material-control-service.d.ts +9 -0
  318. package/dist/services/ps-material-control-service.js +46 -0
  319. package/dist/services/ps-material-scheme-service.d.ts +5 -0
  320. package/dist/services/ps-material-scheme-service.js +42 -0
  321. package/dist/services/ps-menu-popup-service.d.ts +6 -0
  322. package/dist/services/ps-menu-popup-service.js +23 -0
  323. package/dist/services/ps-mobile-theme-service.d.ts +1 -1
  324. package/dist/services/ps-mobile-theme-service.js +7 -2
  325. package/dist/services/ps-navigation-theme-service.d.ts +5 -0
  326. package/dist/services/ps-navigation-theme-service.js +21 -0
  327. package/dist/services/ps-pdf-native-service.d.ts +8 -0
  328. package/dist/services/ps-pdf-native-service.js +33 -0
  329. package/dist/services/ps-quick-action-service.d.ts +9 -0
  330. package/dist/services/ps-quick-action-service.js +31 -0
  331. package/dist/services/ps-ripple-service.d.ts +7 -0
  332. package/dist/services/ps-ripple-service.js +26 -0
  333. package/dist/services/ps-screen-service.d.ts +3 -1
  334. package/dist/services/ps-screen-service.js +8 -2
  335. package/dist/services/ps-sheet-service.d.ts +1 -0
  336. package/dist/services/ps-sheet-service.js +3 -0
  337. package/dist/services/ps-stack-options-service.d.ts +5 -0
  338. package/dist/services/ps-stack-options-service.js +18 -0
  339. package/dist/services/ps-state-service.d.ts +7 -0
  340. package/dist/services/ps-state-service.js +26 -0
  341. package/dist/services/ps-switcher-service.d.ts +6 -0
  342. package/dist/services/ps-switcher-service.js +15 -0
  343. package/dist/services/ps-tab-bar-style-service.d.ts +5 -0
  344. package/dist/services/ps-tab-bar-style-service.js +30 -0
  345. package/dist/services/ps-waterfall-service.d.ts +10 -0
  346. package/dist/services/ps-waterfall-service.js +38 -0
  347. package/jest-setup.js +86 -3
  348. package/package.json +36 -3
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { View } from 'react-native';
4
+ import { PsSwitcherConfig } from '../../constants/ps-switcher-config';
5
+ import { PsSwitcherService } from '../../services/ps-switcher-service';
6
+ import { PsMenuPopupDivider } from '../ps-menu-popup/ps-menu-popup-divider';
7
+ import { PsSearchField } from '../ps-search-field/ps-search-field';
8
+ import { PsText } from '../ps-text/ps-text';
9
+ import { PsSwitcherRow } from './ps-switcher-row';
10
+ export const PsSwitcherPanel = ({ clearLabel, items, noMatchLabel, onSelect, searchPlaceholder, selectedId, }) => {
11
+ const [query, setQuery] = useState('');
12
+ const shown = PsSwitcherService.filter(items, query);
13
+ return (_jsxs(View, { children: [PsSwitcherService.hasSearch(items.length) ? (_jsx(View, { style: {
14
+ paddingHorizontal: PsSwitcherConfig.searchPaddingHorizontal,
15
+ paddingVertical: PsSwitcherConfig.searchPaddingVertical,
16
+ }, children: _jsx(PsSearchField, { clearLabel: clearLabel, onChange: setQuery, placeholder: searchPlaceholder, value: query }) })) : null, shown.length === 0 ? (_jsx(View, { style: { padding: PsSwitcherConfig.searchPaddingHorizontal }, children: _jsx(PsText, { tone: 'muted', children: noMatchLabel }) })) : (shown.map((item, index) => (_jsxs(View, { children: [index === 0 ? null : _jsx(PsMenuPopupDivider, {}), _jsx(PsSwitcherRow, { isSelected: item.id === selectedId, item: item, onPress: () => onSelect(item.id) })] }, item.id))))] }));
17
+ };
@@ -0,0 +1,12 @@
1
+ import type { PsSwitcherItem } from '../../interfaces/ps-switcher-item';
2
+ export interface PsSwitcherProps {
3
+ allItem?: PsSwitcherItem;
4
+ clearLabel: string;
5
+ isLoading?: boolean;
6
+ items: PsSwitcherItem[];
7
+ label: string;
8
+ noMatchLabel: string;
9
+ onSelect: (id: string) => void;
10
+ searchPlaceholder: string;
11
+ selectedId: string;
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { PsSwitcherItem } from '../../interfaces/ps-switcher-item';
2
+ export interface PsSwitcherRowProps {
3
+ isSelected: boolean;
4
+ item: PsSwitcherItem;
5
+ onPress: () => void;
6
+ }
7
+ export declare const PsSwitcherRow: ({ isSelected, item, onPress }: PsSwitcherRowProps) => import("react").JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PsIconKey } from '@pallasoft/ps-icons';
3
+ import { Pressable, View } from 'react-native';
4
+ import { PsMenuPopupConfig } from '../../constants/ps-menu-popup-config';
5
+ import { PsRippleKind } from '../../constants/ps-ripple-kind';
6
+ import { PsSwitcherConfig } from '../../constants/ps-switcher-config';
7
+ import { usePsHaptics } from '../../hooks/use-ps-haptics';
8
+ import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
9
+ import { PsRippleService } from '../../services/ps-ripple-service';
10
+ import { PsAvatar } from '../ps-avatar/ps-avatar';
11
+ import { PsBadge } from '../ps-badge/ps-badge';
12
+ import { PsIcon } from '../ps-icon/ps-icon';
13
+ import { PsText } from '../ps-text/ps-text';
14
+ export const PsSwitcherRow = ({ isSelected, item, onPress }) => {
15
+ const haptic = usePsHaptics();
16
+ const theme = usePsMobileTheme();
17
+ return (_jsxs(Pressable, { android_ripple: PsRippleService.resolve(theme, PsRippleKind.Surface), accessibilityRole: 'menuitem', accessibilityState: { selected: isSelected }, onPress: () => {
18
+ haptic('selection');
19
+ onPress();
20
+ }, style: ({ pressed }) => ({
21
+ alignItems: 'center',
22
+ backgroundColor: pressed
23
+ ? theme.primarySoftStrong
24
+ : isSelected
25
+ ? theme.primarySoft
26
+ : 'transparent',
27
+ flexDirection: 'row',
28
+ gap: PsSwitcherConfig.rowGap,
29
+ minHeight: PsSwitcherConfig.rowMinHeight,
30
+ paddingHorizontal: PsMenuPopupConfig.rowPaddingHorizontal,
31
+ paddingVertical: PsSwitcherConfig.rowPaddingVertical,
32
+ }), children: [_jsx(PsAvatar, { initials: item.initials, size: 'small' }), _jsxs(View, { style: { flex: 1, gap: PsSwitcherConfig.textGap }, children: [_jsx(PsText, { numberOfLines: 1, weight: 'semibold', children: item.title }), item.subtitle === undefined ? null : (_jsx(PsText, { numberOfLines: 1, tone: 'muted', variant: 'small', children: item.subtitle })), item.status === undefined ? null : (_jsx(PsText, { numberOfLines: 1, tone: item.statusTone, variant: 'small', children: item.status }))] }), _jsxs(View, { style: { alignItems: 'flex-end', gap: PsSwitcherConfig.textGap }, children: [item.value === undefined ? null : (_jsx(PsText, { numberOfLines: 1, weight: 'bold', children: item.value })), item.badge === undefined ? null : (_jsx(PsBadge, { size: 'small', tone: 'primary', children: item.badge }))] }), isSelected ? _jsx(PsIcon, { color: theme.primaryText, iconKey: PsIconKey.Check }) : null] }));
33
+ };
@@ -0,0 +1,11 @@
1
+ import type { ElementRef, RefObject } from 'react';
2
+ import { View } from 'react-native';
3
+ import type { PsSwitcherItem } from '../../interfaces/ps-switcher-item';
4
+ export interface PsSwitcherTriggerProps {
5
+ anchorRef: RefObject<ElementRef<typeof View> | null>;
6
+ isOpen: boolean;
7
+ item: PsSwitcherItem;
8
+ label: string;
9
+ onPress: () => void;
10
+ }
11
+ export declare const PsSwitcherTrigger: ({ anchorRef, isOpen, item, label, onPress, }: PsSwitcherTriggerProps) => import("react").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PsIconKey } from '@pallasoft/ps-icons';
3
+ import { Pressable, View } from 'react-native';
4
+ import { PsMobileControlConfig } from '../../constants/ps-mobile-control-config';
5
+ import { PsRippleKind } from '../../constants/ps-ripple-kind';
6
+ import { PsSwitcherConfig } from '../../constants/ps-switcher-config';
7
+ import { usePsHaptics } from '../../hooks/use-ps-haptics';
8
+ import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
9
+ import { PsRippleService } from '../../services/ps-ripple-service';
10
+ import { PsStateService } from '../../services/ps-state-service';
11
+ import { PsAvatar } from '../ps-avatar/ps-avatar';
12
+ import { PsIcon } from '../ps-icon/ps-icon';
13
+ import { PsText } from '../ps-text/ps-text';
14
+ export const PsSwitcherTrigger = ({ anchorRef, isOpen, item, label, onPress, }) => {
15
+ const haptic = usePsHaptics();
16
+ const theme = usePsMobileTheme();
17
+ return (_jsx(View, { collapsable: false, ref: anchorRef, children: _jsxs(Pressable, { android_ripple: PsRippleService.resolve(theme, PsRippleKind.Surface), accessibilityLabel: label, accessibilityRole: 'button', accessibilityState: { expanded: isOpen }, onPress: () => {
18
+ haptic('selection');
19
+ onPress();
20
+ }, style: ({ pressed }) => ({
21
+ alignItems: 'center',
22
+ backgroundColor: pressed
23
+ ? PsStateService.pressedFill(theme, theme.surface)
24
+ : theme.surface,
25
+ borderColor: isOpen ? theme.primary : theme.line,
26
+ borderRadius: PsMobileControlConfig.controlRadius,
27
+ borderWidth: 1,
28
+ flexDirection: 'row',
29
+ gap: PsSwitcherConfig.rowGap,
30
+ minHeight: PsSwitcherConfig.triggerMinHeight,
31
+ overflow: 'hidden',
32
+ paddingHorizontal: PsSwitcherConfig.triggerPaddingHorizontal,
33
+ paddingVertical: PsSwitcherConfig.rowPaddingVertical,
34
+ }), children: [_jsx(PsAvatar, { initials: item.initials, size: 'small' }), _jsxs(View, { style: { flex: 1, gap: PsSwitcherConfig.textGap }, children: [_jsx(PsText, { numberOfLines: 1, weight: 'semibold', children: item.title }), item.value === undefined ? null : (_jsx(PsText, { numberOfLines: 1, weight: 'bold', children: item.value })), item.status === undefined ? null : (_jsx(PsText, { numberOfLines: 1, tone: item.statusTone, variant: 'small', children: item.status }))] }), _jsx(PsIcon, { color: theme.muted, iconKey: PsIconKey.Chevron, size: PsSwitcherConfig.chevronSize })] }) }));
35
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsSwitcherProps } from './ps-switcher-props';
2
+ export declare const PsSwitcher: ({ allItem, clearLabel, isLoading, items, label, noMatchLabel, onSelect, searchPlaceholder, selectedId, }: PsSwitcherProps) => import("react").JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { PsSkeletonShape } from '../../constants/ps-skeleton-shape';
3
+ import { usePsMenuAnchor } from '../../hooks/use-ps-menu-anchor';
4
+ import { PsSwitcherService } from '../../services/ps-switcher-service';
5
+ import { PsMenuPopup } from '../ps-menu-popup/ps-menu-popup';
6
+ import { PsSkeleton } from '../ps-skeleton/ps-skeleton';
7
+ import { PsSwitcherPanel } from './ps-switcher-panel';
8
+ import { PsSwitcherTrigger } from './ps-switcher-trigger';
9
+ export const PsSwitcher = ({ allItem, clearLabel, isLoading = false, items, label, noMatchLabel, onSelect, searchPlaceholder, selectedId, }) => {
10
+ const menu = usePsMenuAnchor();
11
+ const all = allItem === undefined ? items : [allItem, ...items];
12
+ const selected = PsSwitcherService.selected(all, selectedId);
13
+ if (isLoading)
14
+ return _jsx(PsSkeleton, { shape: PsSkeletonShape.Card });
15
+ if (selected === undefined)
16
+ return null;
17
+ return (_jsxs(_Fragment, { children: [_jsx(PsSwitcherTrigger, { isOpen: menu.anchor !== undefined, item: selected, label: label, onPress: menu.open, anchorRef: menu.ref }), menu.anchor === undefined ? null : (_jsx(PsMenuPopup, { anchor: menu.anchor, isFullWidth: true, onClose: menu.close, children: _jsx(PsSwitcherPanel, { clearLabel: clearLabel, items: all, noMatchLabel: noMatchLabel, onSelect: (id) => {
18
+ menu.close();
19
+ onSelect(id);
20
+ }, searchPlaceholder: searchPlaceholder, selectedId: selectedId }) }))] }));
21
+ };
@@ -3,6 +3,6 @@ import { useMemo, useState } from 'react';
3
3
  import { PsTabBarContext } from '../../contexts/ps-tab-bar-context';
4
4
  export const PsTabBarProvider = ({ children }) => {
5
5
  const [isHidden, setIsHidden] = useState(false);
6
- const value = useMemo(() => ({ isHidden, setIsHidden }), [isHidden]);
6
+ const value = useMemo(() => ({ hasTabBar: true, isHidden, setIsHidden }), [isHidden]);
7
7
  return _jsx(PsTabBarContext.Provider, { value: value, children: children });
8
8
  };
@@ -2,10 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from 'react';
3
3
  import { Pressable, ScrollView, View } from 'react-native';
4
4
  import { PsMobileControlConfig } from '../../constants/ps-mobile-control-config';
5
+ import { PsRippleKind } from '../../constants/ps-ripple-kind';
5
6
  import { PsSkeletonShape } from '../../constants/ps-skeleton-shape';
6
7
  import { PsTabsConfig } from '../../constants/ps-tabs-config';
7
8
  import { usePsHaptics } from '../../hooks/use-ps-haptics';
8
9
  import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
10
+ import { PsRippleService } from '../../services/ps-ripple-service';
9
11
  import { PsTabsService } from '../../services/ps-tabs-service';
10
12
  import { PsSkeleton } from '../ps-skeleton/ps-skeleton';
11
13
  import { PsText } from '../ps-text/ps-text';
@@ -26,7 +28,7 @@ export const PsTabs = ({ getItemIcon, getItemKey, getItemLabel, isLoading = fals
26
28
  const key = getItemKey(item);
27
29
  const isSelected = key === selectedKey;
28
30
  const color = isSelected ? theme.primaryText : theme.muted;
29
- return (_jsxs(Pressable, { accessibilityRole: 'tab', accessibilityState: { selected: isSelected }, onLayout: (event) => frames.current.set(key, {
31
+ return (_jsxs(Pressable, { android_ripple: PsRippleService.resolve(theme, PsRippleKind.Surface), accessibilityRole: 'tab', accessibilityState: { selected: isSelected }, onLayout: (event) => frames.current.set(key, {
30
32
  width: event.nativeEvent.layout.width,
31
33
  x: event.nativeEvent.layout.x,
32
34
  }), onPress: () => {
@@ -0,0 +1,2 @@
1
+ export * from './ps-waterfall-chart';
2
+ export * from './ps-waterfall-chart-props';
@@ -0,0 +1,2 @@
1
+ export * from './ps-waterfall-chart';
2
+ export * from './ps-waterfall-chart-props';
@@ -0,0 +1,9 @@
1
+ import type { PsWaterfallDatum } from '../../interfaces/ps-waterfall-datum';
2
+ export interface PsWaterfallChartProps {
3
+ data: PsWaterfallDatum[];
4
+ emptyLabel: string;
5
+ formatTick: (value: number) => string;
6
+ formatValue: (value: number) => string;
7
+ height?: number;
8
+ isLoading?: boolean;
9
+ }
@@ -0,0 +1,2 @@
1
+ import type { PsWaterfallChartProps } from './ps-waterfall-chart-props';
2
+ export declare const PsWaterfallChart: ({ data, emptyLabel, formatTick, formatValue, height, isLoading, }: PsWaterfallChartProps) => import("react").JSX.Element;
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { StyleSheet, View } from 'react-native';
3
+ import Svg, { G, Line, Text as SvgText } from 'react-native-svg';
4
+ import { PsChartConfig } from '../../constants/ps-chart-config';
5
+ import { PsChartSkeletonVariant } from '../../constants/ps-chart-skeleton-variant';
6
+ import { usePsChartReveal } from '../../hooks/use-ps-chart-reveal';
7
+ import { usePsChartScrub } from '../../hooks/use-ps-chart-scrub';
8
+ import { usePsChartWidth } from '../../hooks/use-ps-chart-width';
9
+ import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
10
+ import { PsChartScaleService } from '../../services/ps-chart-scale-service';
11
+ import { PsWaterfallService } from '../../services/ps-waterfall-service';
12
+ import { PsChartBar } from '../ps-chart-bar/ps-chart-bar';
13
+ import { PsChartEmptyState } from '../ps-chart-empty-state/ps-chart-empty-state';
14
+ import { PsChartReadout } from '../ps-chart-readout/ps-chart-readout';
15
+ import { PsChartSkeleton } from '../ps-chart-skeleton/ps-chart-skeleton';
16
+ export const PsWaterfallChart = ({ data, emptyLabel, formatTick, formatValue, height = PsChartConfig.chartHeight, isLoading = false, }) => {
17
+ const theme = usePsMobileTheme();
18
+ const { onLayout, width } = usePsChartWidth();
19
+ const plot = PsChartScaleService.plot(width, height);
20
+ const { index, panHandlers } = usePsChartScrub(data.length, true, plot);
21
+ const steps = PsWaterfallService.steps(data);
22
+ const progress = usePsChartReveal(`waterfall:${PsWaterfallService.values(steps).join(',')}`);
23
+ if (isLoading)
24
+ return _jsx(PsChartSkeleton, { height: height, variant: PsChartSkeletonVariant.Bars });
25
+ if (steps.length === 0 || PsWaterfallService.values(steps).every((value) => value === 0))
26
+ return _jsx(PsChartEmptyState, { height: height, label: emptyLabel });
27
+ const colors = [theme.chart[0], theme.danger, theme.primary700];
28
+ const domain = PsChartScaleService.domain(PsWaterfallService.values(steps));
29
+ const selected = index === null ? steps.length - 1 : index;
30
+ const step = steps[selected];
31
+ const rects = PsWaterfallService.rects(steps, colors, domain, plot);
32
+ const color = step.isTotal ? colors[2] : step.value < 0 ? colors[1] : colors[0];
33
+ return (_jsxs(View, { style: { gap: 8 }, children: [_jsx(PsChartReadout, { items: [{ color, label: step.label, value: formatValue(step.value) }], title: step.label }), _jsx(View, { accessible: true, accessibilityLabel: `${step.label}, ${formatValue(step.value)}`, accessibilityRole: 'image', onLayout: onLayout, style: { height }, children: width === 0 ? null : (_jsxs(_Fragment, { children: [_jsxs(Svg, { height: height, pointerEvents: 'none', width: width, children: [PsChartScaleService.ticks(domain).map((tick) => {
34
+ const y = PsChartScaleService.y(tick, domain, plot);
35
+ return (_jsxs(G, { children: [_jsx(Line, { stroke: theme.line, strokeWidth: PsChartConfig.gridLineWidth, x1: plot.left, x2: plot.right, y1: y, y2: y }), _jsx(SvgText, { fill: theme.muted, fontFamily: theme.fonts.medium, fontSize: PsChartConfig.axisLabelSize, textAnchor: 'end', x: plot.left - 6, y: y + 3, children: formatTick(tick) })] }, tick));
36
+ }), steps.map((entry, position) => (_jsx(SvgText, { fill: theme.muted, fontFamily: theme.fonts.medium, fontSize: PsChartConfig.axisLabelSize, textAnchor: 'middle', x: PsChartScaleService.categoryX(position, steps.length, plot, true), y: height - 6, children: entry.label }, entry.label))), rects.map((rect) => (_jsx(PsChartBar, { progress: progress, rect: rect }, rect.id)))] }), _jsx(View, { ...panHandlers, style: StyleSheet.absoluteFill, testID: 'ps-chart-touch' })] })) })] }));
37
+ };
@@ -10,5 +10,5 @@ export const PsWidgetList = ({ children, onRefresh, style }) => {
10
10
  return (_jsx(ScrollView, { contentContainerStyle: {
11
11
  gap: PsMobileControlConfig.rowSpacing,
12
12
  padding: PsListConfig.contentInset,
13
- }, contentInsetAdjustmentBehavior: 'automatic', refreshControl: onRefresh === undefined ? undefined : (_jsx(RefreshControl, { onRefresh: () => void refresh(), refreshing: isRefreshing, tintColor: theme.primary })), style: [{ backgroundColor: theme.background, flex: 1 }, style], children: children }));
13
+ }, contentInsetAdjustmentBehavior: 'automatic', refreshControl: onRefresh === undefined ? undefined : (_jsx(RefreshControl, { colors: [theme.primaryText], progressBackgroundColor: theme.surface, onRefresh: () => void refresh(), refreshing: isRefreshing, tintColor: theme.primary })), style: [{ backgroundColor: theme.background, flex: 1 }, style], children: children }));
14
14
  };
@@ -0,0 +1,12 @@
1
+ export declare const PsAndroidStateConfig: {
2
+ readonly disabledContainerAlpha: 0.12;
3
+ readonly disabledContentAlpha: 0.38;
4
+ readonly focusAlpha: 0.12;
5
+ readonly iconRippleRadius: 24;
6
+ readonly loadingIndicatorLarge: 48;
7
+ readonly loadingIndicatorSmall: 28;
8
+ readonly rippleAlpha: 0.16;
9
+ readonly rippleOnFillAlpha: 0.24;
10
+ readonly tabLabelSize: 12;
11
+ readonly touchTarget: 48;
12
+ };
@@ -0,0 +1,12 @@
1
+ export const PsAndroidStateConfig = {
2
+ disabledContainerAlpha: 0.12,
3
+ disabledContentAlpha: 0.38,
4
+ focusAlpha: 0.12,
5
+ iconRippleRadius: 24,
6
+ loadingIndicatorLarge: 48,
7
+ loadingIndicatorSmall: 28,
8
+ rippleAlpha: 0.16,
9
+ rippleOnFillAlpha: 0.24,
10
+ tabLabelSize: 12,
11
+ touchTarget: 48,
12
+ };
@@ -0,0 +1,6 @@
1
+ export declare const PsBarcodePermission: {
2
+ readonly checking: "checking";
3
+ readonly denied: "denied";
4
+ readonly granted: "granted";
5
+ };
6
+ export type PsBarcodePermission = (typeof PsBarcodePermission)[keyof typeof PsBarcodePermission];
@@ -0,0 +1,5 @@
1
+ export const PsBarcodePermission = {
2
+ checking: 'checking',
3
+ denied: 'denied',
4
+ granted: 'granted',
5
+ };
@@ -0,0 +1,18 @@
1
+ import { PallasoftDarkColor } from '@pallasoft/ps-design-system';
2
+ export declare const PsBarcodeScannerConfig: {
3
+ readonly backdropColor: PallasoftDarkColor.Background;
4
+ readonly barcodeTypes: string[];
5
+ readonly barGap: 12;
6
+ readonly barPadding: 12;
7
+ readonly cooldownMs: 1500;
8
+ readonly facing: "back";
9
+ readonly frameAspectRatio: 0.6;
10
+ readonly frameBorderWidth: 3;
11
+ readonly frameRadius: 16;
12
+ readonly frameWidthFraction: 0.8;
13
+ readonly footerGap: 8;
14
+ readonly footerPadding: 16;
15
+ readonly pillPaddingHorizontal: 14;
16
+ readonly pillPaddingVertical: 8;
17
+ readonly pillRadius: 16;
18
+ };
@@ -0,0 +1,31 @@
1
+ import { PallasoftDarkColor } from '@pallasoft/ps-design-system';
2
+ export const PsBarcodeScannerConfig = {
3
+ backdropColor: PallasoftDarkColor.Background,
4
+ barcodeTypes: [
5
+ 'ean13',
6
+ 'ean8',
7
+ 'upc_a',
8
+ 'upc_e',
9
+ 'code128',
10
+ 'code39',
11
+ 'code93',
12
+ 'itf14',
13
+ 'codabar',
14
+ 'qr',
15
+ 'datamatrix',
16
+ 'pdf417',
17
+ ],
18
+ barGap: 12,
19
+ barPadding: 12,
20
+ cooldownMs: 1500,
21
+ facing: 'back',
22
+ frameAspectRatio: 0.6,
23
+ frameBorderWidth: 3,
24
+ frameRadius: 16,
25
+ frameWidthFraction: 0.8,
26
+ footerGap: 8,
27
+ footerPadding: 16,
28
+ pillPaddingHorizontal: 14,
29
+ pillPaddingVertical: 8,
30
+ pillRadius: 16,
31
+ };
@@ -0,0 +1,12 @@
1
+ import { PsIconKey } from '@pallasoft/ps-icons';
2
+ import { PsCaptureSource } from './ps-capture-source';
3
+ export declare const PsCaptureConfig: {
4
+ readonly documentTypes: readonly ["image/*", "application/pdf"];
5
+ readonly icons: Record<PsCaptureSource, PsIconKey>;
6
+ readonly imageFallbackType: "image/jpeg";
7
+ readonly imageQuality: 0.8;
8
+ readonly order: readonly ["scan", "camera", "library", "files"];
9
+ readonly scanFileName: "scan";
10
+ readonly scanQuality: 80;
11
+ readonly unknownType: "application/octet-stream";
12
+ };
@@ -0,0 +1,22 @@
1
+ import { PsIconKey } from '@pallasoft/ps-icons';
2
+ import { PsCaptureSource } from './ps-capture-source';
3
+ export const PsCaptureConfig = {
4
+ documentTypes: ['image/*', 'application/pdf'],
5
+ icons: {
6
+ [PsCaptureSource.Camera]: PsIconKey.Camera,
7
+ [PsCaptureSource.Files]: PsIconKey.File,
8
+ [PsCaptureSource.Library]: PsIconKey.Image,
9
+ [PsCaptureSource.Scan]: PsIconKey.Scan,
10
+ },
11
+ imageFallbackType: 'image/jpeg',
12
+ imageQuality: 0.8,
13
+ order: [
14
+ PsCaptureSource.Scan,
15
+ PsCaptureSource.Camera,
16
+ PsCaptureSource.Library,
17
+ PsCaptureSource.Files,
18
+ ],
19
+ scanFileName: 'scan',
20
+ scanQuality: 80,
21
+ unknownType: 'application/octet-stream',
22
+ };
@@ -0,0 +1,7 @@
1
+ export declare const PsCaptureSource: {
2
+ readonly Camera: "camera";
3
+ readonly Files: "files";
4
+ readonly Library: "library";
5
+ readonly Scan: "scan";
6
+ };
7
+ export type PsCaptureSource = (typeof PsCaptureSource)[keyof typeof PsCaptureSource];
@@ -0,0 +1,6 @@
1
+ export const PsCaptureSource = {
2
+ Camera: 'camera',
3
+ Files: 'files',
4
+ Library: 'library',
5
+ Scan: 'scan',
6
+ };
@@ -0,0 +1,5 @@
1
+ export declare const PsCartesianSeriesShape: {
2
+ readonly Bar: "bar";
3
+ readonly Line: "line";
4
+ };
5
+ export type PsCartesianSeriesShape = (typeof PsCartesianSeriesShape)[keyof typeof PsCartesianSeriesShape];
@@ -0,0 +1,4 @@
1
+ export const PsCartesianSeriesShape = {
2
+ Bar: 'bar',
3
+ Line: 'line',
4
+ };
@@ -0,0 +1,21 @@
1
+ export declare const PsChartBrandConfig: {
2
+ readonly steps: readonly [{
3
+ readonly amount: 0;
4
+ readonly isWhite: true;
5
+ }, {
6
+ readonly amount: 0.42;
7
+ readonly isWhite: true;
8
+ }, {
9
+ readonly amount: 0.32;
10
+ readonly isWhite: false;
11
+ }, {
12
+ readonly amount: 0.64;
13
+ readonly isWhite: true;
14
+ }, {
15
+ readonly amount: 0.52;
16
+ readonly isWhite: false;
17
+ }, {
18
+ readonly amount: 0.76;
19
+ readonly isWhite: true;
20
+ }];
21
+ };
@@ -0,0 +1,10 @@
1
+ export const PsChartBrandConfig = {
2
+ steps: [
3
+ { amount: 0, isWhite: true },
4
+ { amount: 0.42, isWhite: true },
5
+ { amount: 0.32, isWhite: false },
6
+ { amount: 0.64, isWhite: true },
7
+ { amount: 0.52, isWhite: false },
8
+ { amount: 0.76, isWhite: true },
9
+ ],
10
+ };
@@ -5,6 +5,8 @@ export declare const PsDocumentConfig: {
5
5
  readonly barPaddingVertical: 4;
6
6
  readonly chromeAlpha: 0.6;
7
7
  readonly counterSeparator: " / ";
8
+ readonly keyJoin: "|";
9
+ readonly keySeparator: "|";
8
10
  readonly dismissActivation: 12;
9
11
  readonly dismissDistance: 120;
10
12
  readonly dismissVelocity: 900;
@@ -20,4 +22,5 @@ export declare const PsDocumentConfig: {
20
22
  readonly previewTextLines: 12;
21
23
  readonly scaleEpsilon: 0.01;
22
24
  readonly settleMs: 180;
25
+ readonly stripIconSize: 20;
23
26
  };
@@ -5,6 +5,8 @@ export const PsDocumentConfig = {
5
5
  barPaddingVertical: 4,
6
6
  chromeAlpha: 0.6,
7
7
  counterSeparator: ' / ',
8
+ keyJoin: '|',
9
+ keySeparator: '|',
8
10
  dismissActivation: 12,
9
11
  dismissDistance: 120,
10
12
  dismissVelocity: 900,
@@ -20,4 +22,5 @@ export const PsDocumentConfig = {
20
22
  previewTextLines: 12,
21
23
  scaleEpsilon: 0.01,
22
24
  settleMs: 180,
25
+ stripIconSize: 20,
23
26
  };
@@ -0,0 +1,11 @@
1
+ export declare const PsDocumentFileConfig: {
2
+ readonly cacheFolder: "ps-documents";
3
+ readonly fallbackExtension: "bin";
4
+ readonly hashModulus: 4294967296;
5
+ readonly hashMultiplier: 33;
6
+ readonly hashRadix: 36;
7
+ readonly hashSeed: 5381;
8
+ readonly pdfExtension: "pdf";
9
+ readonly textExtension: "txt";
10
+ readonly unsafeName: RegExp;
11
+ };
@@ -0,0 +1,11 @@
1
+ export const PsDocumentFileConfig = {
2
+ cacheFolder: 'ps-documents',
3
+ fallbackExtension: 'bin',
4
+ hashModulus: 4294967296,
5
+ hashMultiplier: 33,
6
+ hashRadix: 36,
7
+ hashSeed: 5381,
8
+ pdfExtension: 'pdf',
9
+ textExtension: 'txt',
10
+ unsafeName: /[^a-zA-Z0-9-]/g,
11
+ };
@@ -1,5 +1,6 @@
1
1
  export declare const PsDocumentKind: {
2
2
  readonly Image: "image";
3
+ readonly Pdf: "pdf";
3
4
  readonly Text: "text";
4
5
  readonly Unsupported: "unsupported";
5
6
  };
@@ -1,5 +1,6 @@
1
1
  export const PsDocumentKind = {
2
2
  Image: 'image',
3
+ Pdf: 'pdf',
3
4
  Text: 'text',
4
5
  Unsupported: 'unsupported',
5
6
  };
@@ -0,0 +1,7 @@
1
+ export declare const PsDocumentLoadStatus: {
2
+ readonly Failed: "failed";
3
+ readonly Loading: "loading";
4
+ readonly Ready: "ready";
5
+ readonly Unavailable: "unavailable";
6
+ };
7
+ export type PsDocumentLoadStatus = (typeof PsDocumentLoadStatus)[keyof typeof PsDocumentLoadStatus];
@@ -0,0 +1,6 @@
1
+ export const PsDocumentLoadStatus = {
2
+ Failed: 'failed',
3
+ Loading: 'loading',
4
+ Ready: 'ready',
5
+ Unavailable: 'unavailable',
6
+ };
@@ -0,0 +1,14 @@
1
+ export declare const PsDocumentPdfConfig: {
2
+ readonly coverMaxWidth: 900;
3
+ readonly jpegQuality: 85;
4
+ readonly pageIdSeparator: "-p";
5
+ readonly pageMaxWidth: 2000;
6
+ readonly stripGap: 8;
7
+ readonly stripHeight: 72;
8
+ readonly stripPadding: 12;
9
+ readonly stripScrollViewPosition: 0.5;
10
+ readonly stripSelectedBorder: 2;
11
+ readonly stripTileWidth: 54;
12
+ readonly stripUnselectedAlpha: 0.3;
13
+ readonly unavailableError: "PDF rendering is not available";
14
+ };
@@ -0,0 +1,14 @@
1
+ export const PsDocumentPdfConfig = {
2
+ coverMaxWidth: 900,
3
+ jpegQuality: 85,
4
+ pageIdSeparator: '-p',
5
+ pageMaxWidth: 2000,
6
+ stripGap: 8,
7
+ stripHeight: 72,
8
+ stripPadding: 12,
9
+ stripScrollViewPosition: 0.5,
10
+ stripSelectedBorder: 2,
11
+ stripTileWidth: 54,
12
+ stripUnselectedAlpha: 0.3,
13
+ unavailableError: 'PDF rendering is not available',
14
+ };
@@ -0,0 +1,3 @@
1
+ export declare const PsHeaderConfig: {
2
+ readonly titleSize: 18;
3
+ };
@@ -0,0 +1,3 @@
1
+ export const PsHeaderConfig = {
2
+ titleSize: 18,
3
+ };
@@ -0,0 +1,10 @@
1
+ export declare const PsMenuPopupConfig: {
2
+ readonly anchorGap: 4;
3
+ readonly edgeMargin: 8;
4
+ readonly maxWidth: 296;
5
+ readonly minWidth: 168;
6
+ readonly paddingVertical: 8;
7
+ readonly radius: 12;
8
+ readonly rowHeight: 48;
9
+ readonly rowPaddingHorizontal: 16;
10
+ };
@@ -0,0 +1,10 @@
1
+ export const PsMenuPopupConfig = {
2
+ anchorGap: 4,
3
+ edgeMargin: 8,
4
+ maxWidth: 296,
5
+ minWidth: 168,
6
+ paddingVertical: 8,
7
+ radius: 12,
8
+ rowHeight: 48,
9
+ rowPaddingHorizontal: 16,
10
+ };
@@ -0,0 +1,4 @@
1
+ export declare const PsQuickActionConfig: {
2
+ readonly iosSymbolPrefix: "symbol:";
3
+ readonly moduleName: "expo-quick-actions";
4
+ };
@@ -0,0 +1,4 @@
1
+ export const PsQuickActionConfig = {
2
+ iosSymbolPrefix: 'symbol:',
3
+ moduleName: 'expo-quick-actions',
4
+ };