@pallasoft/ps-mobile-components 1.2.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 (478) hide show
  1. package/dist/components/ps-action-menu/ps-action-menu-avatar-entry.d.ts +5 -0
  2. package/dist/components/ps-action-menu/ps-action-menu-avatar-entry.js +16 -0
  3. package/dist/components/ps-action-menu/ps-action-menu-entries.js +5 -2
  4. package/dist/components/ps-action-menu/ps-action-menu-labelled.d.ts +2 -1
  5. package/dist/components/ps-action-menu/ps-action-menu-labelled.js +2 -2
  6. package/dist/components/ps-action-menu/ps-action-menu.android.js +19 -30
  7. package/dist/components/ps-action-menu/ps-action-menu.ios.js +10 -1
  8. package/dist/components/ps-action-menu/ps-menu-tile-canvas.d.ts +6 -0
  9. package/dist/components/ps-action-menu/ps-menu-tile-canvas.js +5 -0
  10. package/dist/components/ps-action-menu/ps-menu-tile-drawing.d.ts +6 -0
  11. package/dist/components/ps-action-menu/ps-menu-tile-drawing.js +34 -0
  12. package/dist/components/ps-action-sheet/ps-action-sheet.js +6 -4
  13. package/dist/components/ps-app-lock-screen/index.d.ts +2 -0
  14. package/dist/components/ps-app-lock-screen/index.js +2 -0
  15. package/dist/components/ps-app-lock-screen/ps-app-lock-screen-props.d.ts +9 -0
  16. package/dist/components/ps-app-lock-screen/ps-app-lock-screen-props.js +1 -0
  17. package/dist/components/ps-app-lock-screen/ps-app-lock-screen.d.ts +2 -0
  18. package/dist/components/ps-app-lock-screen/ps-app-lock-screen.js +19 -0
  19. package/dist/components/ps-barcode-scanner-sheet/index.d.ts +2 -0
  20. package/dist/components/ps-barcode-scanner-sheet/index.js +2 -0
  21. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet-props.d.ts +11 -0
  22. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet-props.js +1 -0
  23. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet.d.ts +2 -0
  24. package/dist/components/ps-barcode-scanner-sheet/ps-barcode-scanner-sheet.js +82 -0
  25. package/dist/components/ps-button/ps-button.js +4 -2
  26. package/dist/components/ps-cartesian-chart/ps-cartesian-chart.js +25 -19
  27. package/dist/components/ps-checkbox/ps-checkbox.js +5 -2
  28. package/dist/components/ps-chip/ps-chip.js +4 -2
  29. package/dist/components/ps-date-field/ps-date-field.android.js +1 -1
  30. package/dist/components/ps-date-field/ps-date-field.ios.js +1 -1
  31. package/dist/components/ps-document-page/ps-document-page-props.d.ts +3 -0
  32. package/dist/components/ps-document-page/ps-document-page.d.ts +1 -1
  33. package/dist/components/ps-document-page/ps-document-page.js +16 -7
  34. package/dist/components/ps-document-page-strip/index.d.ts +2 -0
  35. package/dist/components/ps-document-page-strip/index.js +2 -0
  36. package/dist/components/ps-document-page-strip/ps-document-page-strip-props.d.ts +6 -0
  37. package/dist/components/ps-document-page-strip/ps-document-page-strip-props.js +1 -0
  38. package/dist/components/ps-document-page-strip/ps-document-page-strip.d.ts +2 -0
  39. package/dist/components/ps-document-page-strip/ps-document-page-strip.js +43 -0
  40. package/dist/components/ps-document-pdf-cover/index.d.ts +2 -0
  41. package/dist/components/ps-document-pdf-cover/index.js +2 -0
  42. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover-props.d.ts +6 -0
  43. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover-props.js +1 -0
  44. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover.d.ts +2 -0
  45. package/dist/components/ps-document-pdf-cover/ps-document-pdf-cover.js +18 -0
  46. package/dist/components/ps-document-preview/ps-document-preview.js +3 -4
  47. package/dist/components/ps-document-preview-face/index.d.ts +2 -0
  48. package/dist/components/ps-document-preview-face/index.js +2 -0
  49. package/dist/components/ps-document-preview-face/ps-document-preview-face-props.d.ts +6 -0
  50. package/dist/components/ps-document-preview-face/ps-document-preview-face-props.js +1 -0
  51. package/dist/components/ps-document-preview-face/ps-document-preview-face.d.ts +2 -0
  52. package/dist/components/ps-document-preview-face/ps-document-preview-face.js +18 -0
  53. package/dist/components/ps-document-text-page/index.d.ts +2 -0
  54. package/dist/components/ps-document-text-page/index.js +2 -0
  55. package/dist/components/ps-document-text-page/ps-document-text-page-props.d.ts +6 -0
  56. package/dist/components/ps-document-text-page/ps-document-text-page-props.js +1 -0
  57. package/dist/components/ps-document-text-page/ps-document-text-page.d.ts +2 -0
  58. package/dist/components/ps-document-text-page/ps-document-text-page.js +18 -0
  59. package/dist/components/ps-document-unsupported/index.d.ts +2 -0
  60. package/dist/components/ps-document-unsupported/index.js +2 -0
  61. package/dist/components/ps-document-unsupported/ps-document-unsupported-props.d.ts +7 -0
  62. package/dist/components/ps-document-unsupported/ps-document-unsupported-props.js +1 -0
  63. package/dist/components/ps-document-unsupported/ps-document-unsupported.d.ts +2 -0
  64. package/dist/components/ps-document-unsupported/ps-document-unsupported.js +10 -0
  65. package/dist/components/ps-document-viewer/ps-document-viewer.js +27 -7
  66. package/dist/components/ps-form-sheet/ps-form-sheet-props.d.ts +2 -0
  67. package/dist/components/ps-form-sheet/ps-form-sheet.d.ts +1 -1
  68. package/dist/components/ps-form-sheet/ps-form-sheet.js +17 -7
  69. package/dist/components/ps-header-action/index.d.ts +2 -0
  70. package/dist/components/ps-header-action/index.js +2 -0
  71. package/dist/components/ps-header-action/ps-header-action-props.d.ts +6 -0
  72. package/dist/components/ps-header-action/ps-header-action-props.js +1 -0
  73. package/dist/components/ps-header-action/ps-header-action.android.d.ts +2 -0
  74. package/dist/components/ps-header-action/ps-header-action.android.js +9 -0
  75. package/dist/components/ps-header-action/ps-header-action.d.ts +2 -0
  76. package/dist/components/ps-header-action/ps-header-action.js +11 -0
  77. package/dist/components/ps-header-menu/index.d.ts +2 -0
  78. package/dist/components/ps-header-menu/index.js +2 -0
  79. package/dist/components/ps-header-menu/ps-header-menu-props.d.ts +7 -0
  80. package/dist/components/ps-header-menu/ps-header-menu-props.js +1 -0
  81. package/dist/components/ps-header-menu/ps-header-menu.android.d.ts +2 -0
  82. package/dist/components/ps-header-menu/ps-header-menu.android.js +11 -0
  83. package/dist/components/ps-header-menu/ps-header-menu.d.ts +2 -0
  84. package/dist/components/ps-header-menu/ps-header-menu.js +20 -0
  85. package/dist/components/ps-icon-button/ps-icon-button.js +7 -7
  86. package/dist/components/ps-kpi-card/ps-kpi-card.js +1 -2
  87. package/dist/components/ps-list/ps-list-action-row.js +6 -6
  88. package/dist/components/ps-list/ps-list-context-menu.android.d.ts +2 -0
  89. package/dist/components/ps-list/ps-list-context-menu.android.js +3 -0
  90. package/dist/components/ps-list/ps-list-context-menu.js +1 -1
  91. package/dist/components/ps-list/ps-list-link-menu-entry.d.ts +5 -0
  92. package/dist/components/ps-list/ps-list-link-menu-entry.js +11 -0
  93. package/dist/components/ps-list/ps-list-link-menu.android.d.ts +2 -0
  94. package/dist/components/ps-list/ps-list-link-menu.android.js +7 -0
  95. package/dist/components/ps-list/ps-list-link-menu.d.ts +10 -0
  96. package/dist/components/ps-list/ps-list-link-menu.js +16 -0
  97. package/dist/components/ps-list/ps-list-link-row.js +6 -6
  98. package/dist/components/ps-list/ps-list-props.d.ts +4 -1
  99. package/dist/components/ps-list/ps-list-row-body.d.ts +2 -2
  100. package/dist/components/ps-list/ps-list-row-body.js +9 -8
  101. package/dist/components/ps-list/ps-list-row-menu.d.ts +10 -0
  102. package/dist/components/ps-list/ps-list-row-menu.js +27 -0
  103. package/dist/components/ps-list/ps-list-row.d.ts +1 -1
  104. package/dist/components/ps-list/ps-list-row.js +4 -3
  105. package/dist/components/ps-list/ps-list-select-row.js +2 -1
  106. package/dist/components/ps-menu-popup/index.d.ts +4 -0
  107. package/dist/components/ps-menu-popup/index.js +4 -0
  108. package/dist/components/ps-menu-popup/ps-menu-popup-divider.d.ts +1 -0
  109. package/dist/components/ps-menu-popup/ps-menu-popup-divider.js +7 -0
  110. package/dist/components/ps-menu-popup/ps-menu-popup-header.d.ts +5 -0
  111. package/dist/components/ps-menu-popup/ps-menu-popup-header.js +8 -0
  112. package/dist/components/ps-menu-popup/ps-menu-popup-row.d.ts +12 -0
  113. package/dist/components/ps-menu-popup/ps-menu-popup-row.js +22 -0
  114. package/dist/components/ps-menu-popup/ps-menu-popup.d.ts +9 -0
  115. package/dist/components/ps-menu-popup/ps-menu-popup.js +35 -0
  116. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider-props.d.ts +5 -2
  117. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider.d.ts +1 -1
  118. package/dist/components/ps-mobile-theme-provider/ps-mobile-theme-provider.js +27 -11
  119. package/dist/components/ps-native-menu/ps-native-menu-row.js +5 -5
  120. package/dist/components/ps-native-menu/ps-native-menu.android.js +16 -24
  121. package/dist/components/ps-option-picker/index.d.ts +2 -0
  122. package/dist/components/ps-option-picker/index.js +2 -0
  123. package/dist/components/ps-option-picker/ps-option-picker-props.d.ts +16 -0
  124. package/dist/components/ps-option-picker/ps-option-picker-props.js +1 -0
  125. package/dist/components/ps-option-picker/ps-option-picker.d.ts +2 -0
  126. package/dist/components/ps-option-picker/ps-option-picker.js +35 -0
  127. package/dist/components/ps-page-header/ps-page-header.js +3 -1
  128. package/dist/components/ps-pallasoft-sign-in-button/ps-pallasoft-sign-in-button.js +3 -1
  129. package/dist/components/ps-privacy-cover/index.d.ts +2 -0
  130. package/dist/components/ps-privacy-cover/index.js +2 -0
  131. package/dist/components/ps-privacy-cover/ps-privacy-cover-props.d.ts +4 -0
  132. package/dist/components/ps-privacy-cover/ps-privacy-cover-props.js +1 -0
  133. package/dist/components/ps-privacy-cover/ps-privacy-cover.d.ts +2 -0
  134. package/dist/components/ps-privacy-cover/ps-privacy-cover.js +17 -0
  135. package/dist/components/ps-screen/ps-screen.js +9 -4
  136. package/dist/components/ps-search-field/ps-search-field.js +3 -1
  137. package/dist/components/ps-search-select-field/index.d.ts +2 -0
  138. package/dist/components/ps-search-select-field/index.js +2 -0
  139. package/dist/components/ps-search-select-field/ps-search-select-field-props.d.ts +10 -0
  140. package/dist/components/ps-search-select-field/ps-search-select-field-props.js +1 -0
  141. package/dist/components/ps-search-select-field/ps-search-select-field.d.ts +2 -0
  142. package/dist/components/ps-search-select-field/ps-search-select-field.js +15 -0
  143. package/dist/components/ps-segmented-control/ps-segmented-control.android.js +4 -9
  144. package/dist/components/ps-selection-mode/index.d.ts +2 -0
  145. package/dist/components/ps-selection-mode/index.js +2 -0
  146. package/dist/components/ps-selection-mode/ps-selection-bar.d.ts +9 -0
  147. package/dist/components/ps-selection-mode/ps-selection-bar.js +49 -0
  148. package/dist/components/ps-selection-mode/ps-selection-mode-props.d.ts +13 -0
  149. package/dist/components/ps-selection-mode/ps-selection-mode-props.js +1 -0
  150. package/dist/components/ps-selection-mode/ps-selection-mode.android.d.ts +2 -0
  151. package/dist/components/ps-selection-mode/ps-selection-mode.android.js +23 -0
  152. package/dist/components/ps-selection-mode/ps-selection-mode.d.ts +2 -0
  153. package/dist/components/ps-selection-mode/ps-selection-mode.js +28 -0
  154. package/dist/components/ps-sheet/ps-sheet-props.d.ts +4 -1
  155. package/dist/components/ps-sheet/ps-sheet.d.ts +1 -1
  156. package/dist/components/ps-sheet/ps-sheet.js +4 -5
  157. package/dist/components/ps-sheet-content/ps-sheet-content.js +1 -1
  158. package/dist/components/ps-sheet-header/ps-sheet-header-props.d.ts +2 -0
  159. package/dist/components/ps-sheet-header/ps-sheet-header.d.ts +1 -1
  160. package/dist/components/ps-sheet-header/ps-sheet-header.js +2 -2
  161. package/dist/components/ps-sheet-page/ps-sheet-page-view.d.ts +8 -0
  162. package/dist/components/ps-sheet-page/ps-sheet-page-view.js +11 -0
  163. package/dist/components/ps-sheet-presenter/ps-sheet-presenter.android.js +4 -4
  164. package/dist/components/ps-sheet-presenter/ps-sheet-presenter.ios.js +9 -2
  165. package/dist/components/ps-sortable-grid/ps-sortable-item.js +2 -0
  166. package/dist/components/ps-spinner/ps-spinner.android.d.ts +2 -0
  167. package/dist/components/ps-spinner/ps-spinner.android.js +13 -0
  168. package/dist/components/ps-switch/ps-switch.android.d.ts +2 -0
  169. package/dist/components/ps-switch/ps-switch.android.js +25 -0
  170. package/dist/components/ps-switcher/index.d.ts +2 -0
  171. package/dist/components/ps-switcher/index.js +2 -0
  172. package/dist/components/ps-switcher/ps-switcher-panel.d.ts +10 -0
  173. package/dist/components/ps-switcher/ps-switcher-panel.js +17 -0
  174. package/dist/components/ps-switcher/ps-switcher-props.d.ts +12 -0
  175. package/dist/components/ps-switcher/ps-switcher-props.js +1 -0
  176. package/dist/components/ps-switcher/ps-switcher-row.d.ts +7 -0
  177. package/dist/components/ps-switcher/ps-switcher-row.js +33 -0
  178. package/dist/components/ps-switcher/ps-switcher-trigger.d.ts +11 -0
  179. package/dist/components/ps-switcher/ps-switcher-trigger.js +35 -0
  180. package/dist/components/ps-switcher/ps-switcher.d.ts +2 -0
  181. package/dist/components/ps-switcher/ps-switcher.js +21 -0
  182. package/dist/components/ps-tab-bar-provider/index.d.ts +2 -0
  183. package/dist/components/ps-tab-bar-provider/index.js +2 -0
  184. package/dist/components/ps-tab-bar-provider/ps-tab-bar-provider-props.d.ts +4 -0
  185. package/dist/components/ps-tab-bar-provider/ps-tab-bar-provider-props.js +1 -0
  186. package/dist/components/ps-tab-bar-provider/ps-tab-bar-provider.d.ts +2 -0
  187. package/dist/components/ps-tab-bar-provider/ps-tab-bar-provider.js +8 -0
  188. package/dist/components/ps-tabs/ps-tabs.js +4 -2
  189. package/dist/components/ps-text-link/ps-text-link.js +1 -1
  190. package/dist/components/ps-waterfall-chart/index.d.ts +2 -0
  191. package/dist/components/ps-waterfall-chart/index.js +2 -0
  192. package/dist/components/ps-waterfall-chart/ps-waterfall-chart-props.d.ts +9 -0
  193. package/dist/components/ps-waterfall-chart/ps-waterfall-chart-props.js +1 -0
  194. package/dist/components/ps-waterfall-chart/ps-waterfall-chart.d.ts +2 -0
  195. package/dist/components/ps-waterfall-chart/ps-waterfall-chart.js +37 -0
  196. package/dist/components/ps-widget-list/ps-widget-list.js +1 -1
  197. package/dist/constants/ps-android-state-config.d.ts +12 -0
  198. package/dist/constants/ps-android-state-config.js +12 -0
  199. package/dist/constants/ps-app-lock-config.d.ts +13 -0
  200. package/dist/constants/ps-app-lock-config.js +13 -0
  201. package/dist/constants/ps-app-lock-native-codes.d.ts +10 -0
  202. package/dist/constants/ps-app-lock-native-codes.js +10 -0
  203. package/dist/constants/ps-barcode-permission.d.ts +6 -0
  204. package/dist/constants/ps-barcode-permission.js +5 -0
  205. package/dist/constants/ps-barcode-scanner-config.d.ts +18 -0
  206. package/dist/constants/ps-barcode-scanner-config.js +31 -0
  207. package/dist/constants/ps-biometry-kind.d.ts +7 -0
  208. package/dist/constants/ps-biometry-kind.js +6 -0
  209. package/dist/constants/ps-capture-config.d.ts +12 -0
  210. package/dist/constants/ps-capture-config.js +22 -0
  211. package/dist/constants/ps-capture-source.d.ts +7 -0
  212. package/dist/constants/ps-capture-source.js +6 -0
  213. package/dist/constants/ps-cartesian-series-shape.d.ts +5 -0
  214. package/dist/constants/ps-cartesian-series-shape.js +4 -0
  215. package/dist/constants/ps-chart-brand-config.d.ts +21 -0
  216. package/dist/constants/ps-chart-brand-config.js +10 -0
  217. package/dist/constants/ps-document-config.d.ts +3 -0
  218. package/dist/constants/ps-document-config.js +3 -0
  219. package/dist/constants/ps-document-file-config.d.ts +11 -0
  220. package/dist/constants/ps-document-file-config.js +11 -0
  221. package/dist/constants/ps-document-kind.d.ts +1 -0
  222. package/dist/constants/ps-document-kind.js +1 -0
  223. package/dist/constants/ps-document-load-status.d.ts +7 -0
  224. package/dist/constants/ps-document-load-status.js +6 -0
  225. package/dist/constants/ps-document-pdf-config.d.ts +14 -0
  226. package/dist/constants/ps-document-pdf-config.js +14 -0
  227. package/dist/constants/ps-header-config.d.ts +3 -0
  228. package/dist/constants/ps-header-config.js +3 -0
  229. package/dist/constants/ps-list-config.d.ts +2 -0
  230. package/dist/constants/ps-list-config.js +2 -0
  231. package/dist/constants/ps-menu-popup-config.d.ts +10 -0
  232. package/dist/constants/ps-menu-popup-config.js +10 -0
  233. package/dist/constants/ps-menu-tile-config.d.ts +9 -0
  234. package/dist/constants/ps-menu-tile-config.js +9 -0
  235. package/dist/constants/ps-mobile-control-config.d.ts +0 -12
  236. package/dist/constants/ps-mobile-control-config.js +0 -6
  237. package/dist/constants/ps-option-picker-config.d.ts +6 -0
  238. package/dist/constants/ps-option-picker-config.js +6 -0
  239. package/dist/constants/ps-quick-action-config.d.ts +4 -0
  240. package/dist/constants/ps-quick-action-config.js +4 -0
  241. package/dist/constants/ps-ripple-kind.d.ts +8 -0
  242. package/dist/constants/ps-ripple-kind.js +7 -0
  243. package/dist/constants/ps-selection-bar-config.d.ts +4 -0
  244. package/dist/constants/ps-selection-bar-config.js +4 -0
  245. package/dist/constants/ps-sf-symbol-config.d.ts +92 -0
  246. package/dist/constants/ps-sf-symbol-config.js +92 -0
  247. package/dist/constants/ps-sheet-page-config.d.ts +4 -0
  248. package/dist/constants/ps-sheet-page-config.js +4 -0
  249. package/dist/constants/ps-sortable-grid-config.d.ts +2 -1
  250. package/dist/constants/ps-sortable-grid-config.js +2 -1
  251. package/dist/constants/ps-switcher-config.d.ts +12 -0
  252. package/dist/constants/ps-switcher-config.js +12 -0
  253. package/dist/contexts/ps-tab-bar-context.d.ts +2 -0
  254. package/dist/contexts/ps-tab-bar-context.js +6 -0
  255. package/dist/hooks/use-ps-app-lock.d.ts +3 -0
  256. package/dist/hooks/use-ps-app-lock.js +72 -0
  257. package/dist/hooks/use-ps-barcode-scanner.d.ts +2 -0
  258. package/dist/hooks/use-ps-barcode-scanner.js +9 -0
  259. package/dist/hooks/use-ps-document-open.d.ts +3 -0
  260. package/dist/hooks/use-ps-document-open.js +14 -0
  261. package/dist/hooks/use-ps-document-pdf-cover.d.ts +3 -0
  262. package/dist/hooks/use-ps-document-pdf-cover.js +33 -0
  263. package/dist/hooks/use-ps-document-pdf-pages.d.ts +3 -0
  264. package/dist/hooks/use-ps-document-pdf-pages.js +31 -0
  265. package/dist/hooks/use-ps-document-text.d.ts +3 -0
  266. package/dist/hooks/use-ps-document-text.js +29 -0
  267. package/dist/hooks/use-ps-file-upload.d.ts +3 -0
  268. package/dist/hooks/use-ps-file-upload.js +32 -0
  269. package/dist/hooks/use-ps-header-right.d.ts +2 -0
  270. package/dist/hooks/use-ps-header-right.js +9 -0
  271. package/dist/hooks/use-ps-material-scheme.d.ts +2 -0
  272. package/dist/hooks/use-ps-material-scheme.js +3 -0
  273. package/dist/hooks/use-ps-menu-anchor.d.ts +10 -0
  274. package/dist/hooks/use-ps-menu-anchor.js +13 -0
  275. package/dist/hooks/use-ps-menu-tiles.d.ts +4 -0
  276. package/dist/hooks/use-ps-menu-tiles.js +8 -0
  277. package/dist/hooks/use-ps-quick-actions.d.ts +2 -0
  278. package/dist/hooks/use-ps-quick-actions.js +30 -0
  279. package/dist/hooks/use-ps-stack-screen-options.d.ts +2 -0
  280. package/dist/hooks/use-ps-stack-screen-options.js +7 -0
  281. package/dist/hooks/use-ps-tab-bar.d.ts +2 -0
  282. package/dist/hooks/use-ps-tab-bar.js +3 -0
  283. package/dist/hooks/use-ps-top-inset.d.ts +1 -0
  284. package/dist/hooks/use-ps-top-inset.js +10 -0
  285. package/dist/index.d.ts +62 -0
  286. package/dist/index.js +61 -0
  287. package/dist/interfaces/ps-action-menu-header.d.ts +1 -0
  288. package/dist/interfaces/ps-app-lock-native.d.ts +13 -0
  289. package/dist/interfaces/ps-app-lock-native.js +1 -0
  290. package/dist/interfaces/ps-app-lock-prompt.d.ts +4 -0
  291. package/dist/interfaces/ps-app-lock-prompt.js +1 -0
  292. package/dist/interfaces/ps-barcode-frame-size.d.ts +4 -0
  293. package/dist/interfaces/ps-barcode-frame-size.js +1 -0
  294. package/dist/interfaces/ps-barcode-last-read.d.ts +4 -0
  295. package/dist/interfaces/ps-barcode-last-read.js +1 -0
  296. package/dist/interfaces/ps-barcode-scan.d.ts +4 -0
  297. package/dist/interfaces/ps-barcode-scan.js +1 -0
  298. package/dist/interfaces/ps-barcode-scanner-labels.d.ts +8 -0
  299. package/dist/interfaces/ps-barcode-scanner-labels.js +1 -0
  300. package/dist/interfaces/ps-barcode-scanner-native.d.ts +23 -0
  301. package/dist/interfaces/ps-barcode-scanner-native.js +1 -0
  302. package/dist/interfaces/ps-capture-labels.d.ts +6 -0
  303. package/dist/interfaces/ps-capture-labels.js +1 -0
  304. package/dist/interfaces/ps-capture-menu-options.d.ts +6 -0
  305. package/dist/interfaces/ps-capture-menu-options.js +1 -0
  306. package/dist/interfaces/ps-capture-modules.d.ts +6 -0
  307. package/dist/interfaces/ps-capture-modules.js +1 -0
  308. package/dist/interfaces/ps-capture-options.d.ts +6 -0
  309. package/dist/interfaces/ps-capture-options.js +1 -0
  310. package/dist/interfaces/ps-cartesian-chart-series.d.ts +2 -0
  311. package/dist/interfaces/ps-date-dialog-colors.d.ts +19 -0
  312. package/dist/interfaces/ps-date-dialog-colors.js +1 -0
  313. package/dist/interfaces/ps-device-file.d.ts +5 -0
  314. package/dist/interfaces/ps-device-file.js +1 -0
  315. package/dist/interfaces/ps-document-file-system.d.ts +2 -0
  316. package/dist/interfaces/ps-document-file-system.js +1 -0
  317. package/dist/interfaces/ps-document-labels.d.ts +1 -0
  318. package/dist/interfaces/ps-document-page-image.d.ts +5 -0
  319. package/dist/interfaces/ps-document-page-image.js +1 -0
  320. package/dist/interfaces/ps-document-pdf-native.d.ts +9 -0
  321. package/dist/interfaces/ps-document-pdf-native.js +1 -0
  322. package/dist/interfaces/ps-document-pdf-options.d.ts +4 -0
  323. package/dist/interfaces/ps-document-pdf-options.js +1 -0
  324. package/dist/interfaces/ps-document-pdf-state.d.ts +6 -0
  325. package/dist/interfaces/ps-document-pdf-state.js +1 -0
  326. package/dist/interfaces/ps-document-viewer-entry.d.ts +8 -0
  327. package/dist/interfaces/ps-document-viewer-entry.js +1 -0
  328. package/dist/interfaces/ps-file-upload-options.d.ts +8 -0
  329. package/dist/interfaces/ps-file-upload-options.js +1 -0
  330. package/dist/interfaces/ps-material-scheme.d.ts +38 -0
  331. package/dist/interfaces/ps-material-scheme.js +1 -0
  332. package/dist/interfaces/ps-material-segmented-colors.d.ts +14 -0
  333. package/dist/interfaces/ps-material-segmented-colors.js +1 -0
  334. package/dist/interfaces/ps-material-switch-colors.d.ts +14 -0
  335. package/dist/interfaces/ps-material-switch-colors.js +1 -0
  336. package/dist/interfaces/ps-menu-anchor.d.ts +6 -0
  337. package/dist/interfaces/ps-menu-anchor.js +1 -0
  338. package/dist/interfaces/ps-menu-item.d.ts +3 -0
  339. package/dist/interfaces/ps-menu-popup-layout.d.ts +6 -0
  340. package/dist/interfaces/ps-menu-popup-layout.js +1 -0
  341. package/dist/interfaces/ps-menu-popup-window.d.ts +4 -0
  342. package/dist/interfaces/ps-menu-popup-window.js +1 -0
  343. package/dist/interfaces/ps-menu-tile-request.d.ts +7 -0
  344. package/dist/interfaces/ps-menu-tile-request.js +1 -0
  345. package/dist/interfaces/ps-menu-tile-shape.d.ts +1 -0
  346. package/dist/interfaces/ps-menu-tile-shape.js +1 -0
  347. package/dist/interfaces/ps-mobile-brand-colors.d.ts +5 -0
  348. package/dist/interfaces/ps-mobile-brand-colors.js +1 -0
  349. package/dist/interfaces/ps-mobile-brand-input.d.ts +7 -0
  350. package/dist/interfaces/ps-mobile-brand-input.js +1 -0
  351. package/dist/interfaces/ps-mobile-theme-input.d.ts +3 -1
  352. package/dist/interfaces/ps-mobile-theme.d.ts +32 -0
  353. package/dist/interfaces/ps-quick-action-native.d.ts +14 -0
  354. package/dist/interfaces/ps-quick-action-native.js +1 -0
  355. package/dist/interfaces/ps-quick-action.d.ts +7 -0
  356. package/dist/interfaces/ps-quick-action.js +1 -0
  357. package/dist/interfaces/ps-scanned-file.d.ts +2 -5
  358. package/dist/interfaces/ps-sheet-leading-kind.d.ts +1 -0
  359. package/dist/interfaces/ps-sheet-leading-kind.js +1 -0
  360. package/dist/interfaces/ps-sheet-page.d.ts +8 -0
  361. package/dist/interfaces/ps-sheet-page.js +1 -0
  362. package/dist/interfaces/ps-stack-screen-options.d.ts +2 -0
  363. package/dist/interfaces/ps-stack-screen-options.js +1 -0
  364. package/dist/interfaces/ps-switcher-item.d.ts +11 -0
  365. package/dist/interfaces/ps-switcher-item.js +1 -0
  366. package/dist/interfaces/ps-tab-bar-context-data.d.ts +5 -0
  367. package/dist/interfaces/ps-tab-bar-context-data.js +1 -0
  368. package/dist/interfaces/ps-tab-bar-icon-colors.d.ts +4 -0
  369. package/dist/interfaces/ps-tab-bar-icon-colors.js +1 -0
  370. package/dist/interfaces/ps-tab-bar-label-style.d.ts +5 -0
  371. package/dist/interfaces/ps-tab-bar-label-style.js +1 -0
  372. package/dist/interfaces/ps-tab-bar-label-styles.d.ts +5 -0
  373. package/dist/interfaces/ps-tab-bar-label-styles.js +1 -0
  374. package/dist/interfaces/ps-tab-bar-style.d.ts +12 -0
  375. package/dist/interfaces/ps-tab-bar-style.js +1 -0
  376. package/dist/interfaces/ps-waterfall-datum.d.ts +6 -0
  377. package/dist/interfaces/ps-waterfall-datum.js +1 -0
  378. package/dist/interfaces/ps-waterfall-step.d.ts +7 -0
  379. package/dist/interfaces/ps-waterfall-step.js +1 -0
  380. package/dist/interfaces/use-ps-app-lock-options.d.ts +6 -0
  381. package/dist/interfaces/use-ps-app-lock-options.js +1 -0
  382. package/dist/interfaces/use-ps-app-lock-result.d.ts +7 -0
  383. package/dist/interfaces/use-ps-app-lock-result.js +1 -0
  384. package/dist/interfaces/use-ps-barcode-scanner-result.d.ts +6 -0
  385. package/dist/interfaces/use-ps-barcode-scanner-result.js +1 -0
  386. package/dist/interfaces/use-ps-document-open-result.d.ts +5 -0
  387. package/dist/interfaces/use-ps-document-open-result.js +1 -0
  388. package/dist/interfaces/use-ps-document-pdf-cover-result.d.ts +7 -0
  389. package/dist/interfaces/use-ps-document-pdf-cover-result.js +1 -0
  390. package/dist/interfaces/use-ps-document-pdf-pages-result.d.ts +5 -0
  391. package/dist/interfaces/use-ps-document-pdf-pages-result.js +1 -0
  392. package/dist/interfaces/use-ps-document-text-result.d.ts +5 -0
  393. package/dist/interfaces/use-ps-document-text-result.js +1 -0
  394. package/dist/interfaces/use-ps-file-upload-result.d.ts +8 -0
  395. package/dist/interfaces/use-ps-file-upload-result.js +1 -0
  396. package/dist/interfaces/use-ps-quick-actions-options.d.ts +5 -0
  397. package/dist/interfaces/use-ps-quick-actions-options.js +1 -0
  398. package/dist/services/ps-action-menu-service.d.ts +4 -0
  399. package/dist/services/ps-action-menu-service.js +25 -2
  400. package/dist/services/ps-app-lock-grace-service.d.ts +6 -0
  401. package/dist/services/ps-app-lock-grace-service.js +17 -0
  402. package/dist/services/ps-app-lock-service.d.ts +10 -0
  403. package/dist/services/ps-app-lock-service.js +84 -0
  404. package/dist/services/ps-badge-tone-service.js +3 -3
  405. package/dist/services/ps-barcode-scanner-service.d.ts +14 -0
  406. package/dist/services/ps-barcode-scanner-service.js +53 -0
  407. package/dist/services/ps-button-style-service.d.ts +2 -0
  408. package/dist/services/ps-button-style-service.js +15 -3
  409. package/dist/services/ps-capture-picker-service.d.ts +11 -0
  410. package/dist/services/ps-capture-picker-service.js +67 -0
  411. package/dist/services/ps-capture-source-service.d.ts +10 -0
  412. package/dist/services/ps-capture-source-service.js +31 -0
  413. package/dist/services/ps-chart-brand-service.d.ts +4 -0
  414. package/dist/services/ps-chart-brand-service.js +20 -0
  415. package/dist/services/ps-chart-shape-service.d.ts +7 -0
  416. package/dist/services/ps-chart-shape-service.js +17 -0
  417. package/dist/services/ps-context-menu-service.d.ts +1 -0
  418. package/dist/services/ps-context-menu-service.js +13 -0
  419. package/dist/services/ps-control-style-service.js +3 -2
  420. package/dist/services/ps-date-picker-service.d.ts +3 -0
  421. package/dist/services/ps-date-picker-service.js +21 -0
  422. package/dist/services/ps-device-file-service.d.ts +14 -0
  423. package/dist/services/ps-device-file-service.js +27 -0
  424. package/dist/services/ps-document-file-service.d.ts +10 -0
  425. package/dist/services/ps-document-file-service.js +75 -0
  426. package/dist/services/ps-document-open-service.d.ts +5 -0
  427. package/dist/services/ps-document-open-service.js +16 -0
  428. package/dist/services/ps-document-pdf-service.d.ts +10 -0
  429. package/dist/services/ps-document-pdf-service.js +40 -0
  430. package/dist/services/ps-document-text-service.d.ts +5 -0
  431. package/dist/services/ps-document-text-service.js +14 -0
  432. package/dist/services/ps-document-viewer-entry-service.d.ts +11 -0
  433. package/dist/services/ps-document-viewer-entry-service.js +72 -0
  434. package/dist/services/ps-list-row-style-service.d.ts +4 -0
  435. package/dist/services/ps-list-row-style-service.js +8 -0
  436. package/dist/services/ps-material-control-service.d.ts +9 -0
  437. package/dist/services/ps-material-control-service.js +46 -0
  438. package/dist/services/ps-material-scheme-service.d.ts +5 -0
  439. package/dist/services/ps-material-scheme-service.js +42 -0
  440. package/dist/services/ps-menu-popup-service.d.ts +6 -0
  441. package/dist/services/ps-menu-popup-service.js +23 -0
  442. package/dist/services/ps-menu-tile-service.d.ts +16 -0
  443. package/dist/services/ps-menu-tile-service.js +70 -0
  444. package/dist/services/ps-menu-tile-style-service.d.ts +4 -0
  445. package/dist/services/ps-menu-tile-style-service.js +5 -0
  446. package/dist/services/ps-mobile-brand-service.d.ts +5 -0
  447. package/dist/services/ps-mobile-brand-service.js +24 -0
  448. package/dist/services/ps-mobile-theme-service.d.ts +1 -3
  449. package/dist/services/ps-mobile-theme-service.js +70 -95
  450. package/dist/services/ps-navigation-theme-service.d.ts +5 -0
  451. package/dist/services/ps-navigation-theme-service.js +21 -0
  452. package/dist/services/ps-option-picker-service.d.ts +8 -0
  453. package/dist/services/ps-option-picker-service.js +10 -0
  454. package/dist/services/ps-pdf-native-service.d.ts +8 -0
  455. package/dist/services/ps-pdf-native-service.js +33 -0
  456. package/dist/services/ps-quick-action-service.d.ts +9 -0
  457. package/dist/services/ps-quick-action-service.js +31 -0
  458. package/dist/services/ps-ripple-service.d.ts +7 -0
  459. package/dist/services/ps-ripple-service.js +26 -0
  460. package/dist/services/ps-screen-service.d.ts +3 -1
  461. package/dist/services/ps-screen-service.js +8 -2
  462. package/dist/services/ps-selection-service.d.ts +5 -0
  463. package/dist/services/ps-selection-service.js +13 -0
  464. package/dist/services/ps-sheet-service.d.ts +6 -0
  465. package/dist/services/ps-sheet-service.js +14 -0
  466. package/dist/services/ps-stack-options-service.d.ts +5 -0
  467. package/dist/services/ps-stack-options-service.js +18 -0
  468. package/dist/services/ps-state-service.d.ts +7 -0
  469. package/dist/services/ps-state-service.js +26 -0
  470. package/dist/services/ps-switcher-service.d.ts +6 -0
  471. package/dist/services/ps-switcher-service.js +15 -0
  472. package/dist/services/ps-tab-bar-style-service.d.ts +5 -0
  473. package/dist/services/ps-tab-bar-style-service.js +30 -0
  474. package/dist/services/ps-text-service.js +4 -4
  475. package/dist/services/ps-waterfall-service.d.ts +10 -0
  476. package/dist/services/ps-waterfall-service.js +38 -0
  477. package/jest-setup.js +154 -0
  478. package/package.json +47 -2
@@ -0,0 +1,4 @@
1
+ export declare const PsSheetPageConfig: {
2
+ readonly duration: 240;
3
+ readonly formId: "form";
4
+ };
@@ -0,0 +1,4 @@
1
+ export const PsSheetPageConfig = {
2
+ duration: 240,
3
+ formId: 'form',
4
+ };
@@ -3,7 +3,8 @@ export declare const PsSortableGridConfig: {
3
3
  readonly activeZIndex: 10;
4
4
  readonly columnGap: 12;
5
5
  readonly edgeRatio: 0.14;
6
- readonly longPressMs: 300;
6
+ readonly holdTolerance: 8;
7
+ readonly longPressMs: 400;
7
8
  readonly maxScrollStep: 18;
8
9
  readonly moveMs: 220;
9
10
  readonly outlineOffset: 0;
@@ -5,7 +5,8 @@ export const PsSortableGridConfig = {
5
5
  activeZIndex: 10,
6
6
  columnGap: PsChartConfig.kpiGap,
7
7
  edgeRatio: 0.14,
8
- longPressMs: 300,
8
+ holdTolerance: 8,
9
+ longPressMs: 400,
9
10
  maxScrollStep: 18,
10
11
  moveMs: 220,
11
12
  outlineOffset: 0,
@@ -0,0 +1,12 @@
1
+ export declare const PsSwitcherConfig: {
2
+ readonly chevronSize: 20;
3
+ readonly rowGap: 12;
4
+ readonly rowMinHeight: 64;
5
+ readonly rowPaddingVertical: 8;
6
+ readonly searchPaddingHorizontal: 12;
7
+ readonly searchPaddingVertical: 8;
8
+ readonly searchThreshold: 6;
9
+ readonly textGap: 2;
10
+ readonly triggerMinHeight: 64;
11
+ readonly triggerPaddingHorizontal: 14;
12
+ };
@@ -0,0 +1,12 @@
1
+ export const PsSwitcherConfig = {
2
+ chevronSize: 20,
3
+ rowGap: 12,
4
+ rowMinHeight: 64,
5
+ rowPaddingVertical: 8,
6
+ searchPaddingHorizontal: 12,
7
+ searchPaddingVertical: 8,
8
+ searchThreshold: 6,
9
+ textGap: 2,
10
+ triggerMinHeight: 64,
11
+ triggerPaddingHorizontal: 14,
12
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsTabBarContextData } from '../interfaces/ps-tab-bar-context-data';
2
+ export declare const PsTabBarContext: import("react").Context<PsTabBarContextData>;
@@ -0,0 +1,6 @@
1
+ import { createContext } from 'react';
2
+ export const PsTabBarContext = createContext({
3
+ hasTabBar: false,
4
+ isHidden: false,
5
+ setIsHidden: () => undefined,
6
+ });
@@ -0,0 +1,3 @@
1
+ import type { UsePsAppLockOptions } from '../interfaces/use-ps-app-lock-options';
2
+ import type { UsePsAppLockResult } from '../interfaces/use-ps-app-lock-result';
3
+ export declare const usePsAppLock: ({ graceSeconds, isEnabled, prompt, }: UsePsAppLockOptions) => UsePsAppLockResult;
@@ -0,0 +1,72 @@
1
+ import { useCallback, useEffect, useRef, useState } from 'react';
2
+ import { Common } from '@pallasoft/ps-utilities';
3
+ import { AppState } from 'react-native';
4
+ import { PsAppLockConfig } from '../constants/ps-app-lock-config';
5
+ import { PsAppLockGraceService } from '../services/ps-app-lock-grace-service';
6
+ import { PsAppLockService } from '../services/ps-app-lock-service';
7
+ import { usePsHaptics } from './use-ps-haptics';
8
+ export const usePsAppLock = ({ graceSeconds = PsAppLockConfig.defaultGraceSeconds, isEnabled, prompt, }) => {
9
+ const haptics = usePsHaptics();
10
+ const [isHeld, setIsHeld] = useState(false);
11
+ const [isUnlocking, setIsUnlocking] = useState(false);
12
+ const [appState, setAppState] = useState(PsAppLockConfig.activeState);
13
+ const backgroundedAt = useRef(null);
14
+ const isUnlockingRef = useRef(false);
15
+ const latest = useRef({ haptics, prompt });
16
+ const isLocked = isEnabled && isHeld;
17
+ useEffect(() => {
18
+ latest.current = { haptics, prompt };
19
+ });
20
+ useEffect(() => {
21
+ if (!isEnabled)
22
+ setIsHeld(false);
23
+ }, [isEnabled]);
24
+ useEffect(() => {
25
+ const subscription = AppState.addEventListener('change', (next) => {
26
+ if (PsAppLockService.isBusy())
27
+ return;
28
+ const now = Common.DateService.nowUnixSeconds();
29
+ if (PsAppLockGraceService.isBackground(next))
30
+ backgroundedAt.current = now;
31
+ if (PsAppLockGraceService.isActive(next)) {
32
+ if (PsAppLockGraceService.isExpired(backgroundedAt.current, now, graceSeconds))
33
+ setIsHeld(true);
34
+ backgroundedAt.current = null;
35
+ }
36
+ setAppState(next);
37
+ });
38
+ return () => subscription.remove();
39
+ }, [graceSeconds]);
40
+ const lock = useCallback(() => setIsHeld(true), []);
41
+ const unlock = useCallback(async () => {
42
+ if (isUnlockingRef.current)
43
+ return false;
44
+ isUnlockingRef.current = true;
45
+ setIsUnlocking(true);
46
+ try {
47
+ const { haptics: play, prompt: current } = latest.current;
48
+ const isOk = await PsAppLockService.authenticate(current.message, current.cancelLabel);
49
+ if (isOk)
50
+ setIsHeld(false);
51
+ play(isOk ? 'success' : 'error');
52
+ return isOk;
53
+ }
54
+ finally {
55
+ isUnlockingRef.current = false;
56
+ setIsUnlocking(false);
57
+ }
58
+ }, []);
59
+ const isHidden = PsAppLockGraceService.isHidden(appState);
60
+ const shouldPrompt = isLocked && !isHidden;
61
+ useEffect(() => {
62
+ if (shouldPrompt)
63
+ void unlock();
64
+ }, [shouldPrompt, unlock]);
65
+ return {
66
+ isCovered: isEnabled && isHidden,
67
+ isLocked,
68
+ isUnlocking,
69
+ lock,
70
+ unlock,
71
+ };
72
+ };
@@ -0,0 +1,2 @@
1
+ import type { UsePsBarcodeScannerResult } from '../interfaces/use-ps-barcode-scanner-result';
2
+ export declare const usePsBarcodeScanner: () => UsePsBarcodeScannerResult;
@@ -0,0 +1,9 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { PsBarcodeScannerService } from '../services/ps-barcode-scanner-service';
3
+ export const usePsBarcodeScanner = () => {
4
+ const [isOpen, setIsOpen] = useState(false);
5
+ const isAvailable = useMemo(() => PsBarcodeScannerService.isAvailable(), []);
6
+ const open = useCallback(() => setIsOpen(isAvailable), [isAvailable]);
7
+ const close = useCallback(() => setIsOpen(false), []);
8
+ return { close, isAvailable, isOpen, open };
9
+ };
@@ -0,0 +1,3 @@
1
+ import type { PsDocumentItem } from '../interfaces/ps-document-item';
2
+ import type { UsePsDocumentOpenResult } from '../interfaces/use-ps-document-open-result';
3
+ export declare const usePsDocumentOpen: (item: PsDocumentItem) => UsePsDocumentOpenResult;
@@ -0,0 +1,14 @@
1
+ import { useCallback, useState } from 'react';
2
+ import { PsDocumentOpenService } from '../services/ps-document-open-service';
3
+ export const usePsDocumentOpen = (item) => {
4
+ const [hasFailed, setHasFailed] = useState(false);
5
+ const [isOpening, setIsOpening] = useState(false);
6
+ const open = useCallback(async () => {
7
+ setIsOpening(true);
8
+ setHasFailed(false);
9
+ const isOpened = await PsDocumentOpenService.open(item);
10
+ setIsOpening(false);
11
+ setHasFailed(!isOpened);
12
+ }, [item]);
13
+ return { hasFailed, isOpening, open };
14
+ };
@@ -0,0 +1,3 @@
1
+ import type { PsDocumentItem } from '../interfaces/ps-document-item';
2
+ import type { UsePsDocumentPdfCoverResult } from '../interfaces/use-ps-document-pdf-cover-result';
3
+ export declare const usePsDocumentPdfCover: (item: PsDocumentItem) => UsePsDocumentPdfCoverResult;
@@ -0,0 +1,33 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { PsDocumentKind } from '../constants/ps-document-kind';
3
+ import { PsDocumentLoadStatus } from '../constants/ps-document-load-status';
4
+ import { PsDocumentPdfService } from '../services/ps-document-pdf-service';
5
+ export const usePsDocumentPdfCover = (item) => {
6
+ const [state, setState] = useState({
7
+ pages: [],
8
+ status: PsDocumentLoadStatus.Loading,
9
+ });
10
+ const [attempt, setAttempt] = useState(0);
11
+ const source = item.source;
12
+ const isPdf = item.kind === PsDocumentKind.Pdf;
13
+ const uri = source === null ? '' : source.uri;
14
+ useEffect(() => {
15
+ if (!isPdf || source === null)
16
+ return undefined;
17
+ let isActive = true;
18
+ setState({ pages: [], status: PsDocumentLoadStatus.Loading });
19
+ void PsDocumentPdfService.cover(source, item.name).then((next) => {
20
+ if (isActive)
21
+ setState(next);
22
+ });
23
+ return () => {
24
+ isActive = false;
25
+ };
26
+ }, [attempt, isPdf, uri]);
27
+ const retry = useCallback(() => setAttempt((current) => current + 1), []);
28
+ return {
29
+ cover: state.pages.length > 0 ? state.pages[0] : null,
30
+ retry,
31
+ status: state.status,
32
+ };
33
+ };
@@ -0,0 +1,3 @@
1
+ import type { PsDocumentItem } from '../interfaces/ps-document-item';
2
+ import type { UsePsDocumentPdfPagesResult } from '../interfaces/use-ps-document-pdf-pages-result';
3
+ export declare const usePsDocumentPdfPages: (items: PsDocumentItem[], isEnabled: boolean) => UsePsDocumentPdfPagesResult;
@@ -0,0 +1,31 @@
1
+ import { useCallback, useEffect, useState } from 'react';
2
+ import { PsDocumentKind } from '../constants/ps-document-kind';
3
+ import { PsDocumentPdfService } from '../services/ps-document-pdf-service';
4
+ import { PsDocumentViewerEntryService } from '../services/ps-document-viewer-entry-service';
5
+ export const usePsDocumentPdfPages = (items, isEnabled) => {
6
+ const [states, setStates] = useState({});
7
+ const [attempt, setAttempt] = useState(0);
8
+ const key = PsDocumentViewerEntryService.pdfKey(items);
9
+ useEffect(() => {
10
+ if (!isEnabled)
11
+ return undefined;
12
+ let isActive = true;
13
+ for (const item of items) {
14
+ if (item.kind !== PsDocumentKind.Pdf || item.source === null)
15
+ continue;
16
+ const id = item.id;
17
+ void PsDocumentPdfService.pages(item.source, item.name).then((state) => {
18
+ if (isActive)
19
+ setStates((current) => ({ ...current, [id]: state }));
20
+ });
21
+ }
22
+ return () => {
23
+ isActive = false;
24
+ };
25
+ }, [attempt, isEnabled, key]);
26
+ const retry = useCallback(() => {
27
+ setStates({});
28
+ setAttempt((current) => current + 1);
29
+ }, []);
30
+ return { retry, states };
31
+ };
@@ -0,0 +1,3 @@
1
+ import type { PsDocumentItem } from '../interfaces/ps-document-item';
2
+ import type { UsePsDocumentTextResult } from '../interfaces/use-ps-document-text-result';
3
+ export declare const usePsDocumentText: (item: PsDocumentItem) => UsePsDocumentTextResult;
@@ -0,0 +1,29 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { PsDocumentLoadStatus } from '../constants/ps-document-load-status';
3
+ import { PsDocumentTextService } from '../services/ps-document-text-service';
4
+ export const usePsDocumentText = (item) => {
5
+ const [loaded, setLoaded] = useState({
6
+ status: PsDocumentLoadStatus.Loading,
7
+ text: null,
8
+ });
9
+ const needsLoad = PsDocumentTextService.needsLoad(item);
10
+ const uri = item.source === null ? '' : item.source.uri;
11
+ useEffect(() => {
12
+ if (!needsLoad)
13
+ return undefined;
14
+ let isActive = true;
15
+ void PsDocumentTextService.load(item).then((text) => {
16
+ if (isActive)
17
+ setLoaded({
18
+ status: text === null ? PsDocumentLoadStatus.Failed : PsDocumentLoadStatus.Ready,
19
+ text,
20
+ });
21
+ });
22
+ return () => {
23
+ isActive = false;
24
+ };
25
+ }, [needsLoad, uri]);
26
+ if (item.text !== null)
27
+ return { status: PsDocumentLoadStatus.Ready, text: item.text };
28
+ return needsLoad ? loaded : { status: PsDocumentLoadStatus.Failed, text: null };
29
+ };
@@ -0,0 +1,3 @@
1
+ import type { PsFileUploadOptions } from '../interfaces/ps-file-upload-options';
2
+ import type { UsePsFileUploadResult } from '../interfaces/use-ps-file-upload-result';
3
+ export declare const usePsFileUpload: ({ capture, onFailed, onUploaded, send, }: PsFileUploadOptions) => UsePsFileUploadResult;
@@ -0,0 +1,32 @@
1
+ import { useCallback, useState } from 'react';
2
+ import { PsCapturePickerService } from '../services/ps-capture-picker-service';
3
+ import { PsCaptureSourceService } from '../services/ps-capture-source-service';
4
+ export const usePsFileUpload = ({ capture, onFailed, onUploaded, send, }) => {
5
+ const [isUploading, setIsUploading] = useState(false);
6
+ const pick = useCallback(async (source) => {
7
+ const files = await PsCapturePickerService.pick(source, capture).catch(() => []);
8
+ if (files.length === 0)
9
+ return;
10
+ setIsUploading(true);
11
+ try {
12
+ for (const file of files)
13
+ await send(file);
14
+ onUploaded();
15
+ }
16
+ catch {
17
+ onFailed();
18
+ }
19
+ finally {
20
+ setIsUploading(false);
21
+ }
22
+ }, [capture, onFailed, onUploaded, send]);
23
+ const items = useCallback((labels, onPicked) => PsCaptureSourceService.items(labels, {
24
+ isDisabled: isUploading,
25
+ onPick: (source) => {
26
+ if (onPicked !== undefined)
27
+ onPicked(source);
28
+ void pick(source);
29
+ },
30
+ }), [isUploading, pick]);
31
+ return { isUploading, items, pick };
32
+ };
@@ -0,0 +1,2 @@
1
+ import { type ReactNode } from 'react';
2
+ export declare const usePsHeaderRight: (content: ReactNode) => void;
@@ -0,0 +1,9 @@
1
+ import { useLayoutEffect } from 'react';
2
+ import { useNavigation } from 'expo-router';
3
+ export const usePsHeaderRight = (content) => {
4
+ const navigation = useNavigation();
5
+ useLayoutEffect(() => {
6
+ navigation.setOptions({ headerRight: () => content });
7
+ return () => navigation.setOptions({ headerRight: undefined });
8
+ }, [content, navigation]);
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsMaterialScheme } from '../interfaces/ps-material-scheme';
2
+ export declare const usePsMaterialScheme: () => PsMaterialScheme;
@@ -0,0 +1,3 @@
1
+ import { PsMaterialSchemeService } from '../services/ps-material-scheme-service';
2
+ import { usePsMobileTheme } from './use-ps-mobile-theme';
3
+ export const usePsMaterialScheme = () => PsMaterialSchemeService.create(usePsMobileTheme());
@@ -0,0 +1,10 @@
1
+ import { type ElementRef, type RefObject } from 'react';
2
+ import type { View } from 'react-native';
3
+ import type { PsMenuAnchor } from '../interfaces/ps-menu-anchor';
4
+ export interface PsMenuAnchorResult {
5
+ anchor: PsMenuAnchor | undefined;
6
+ close: () => void;
7
+ open: () => void;
8
+ ref: RefObject<ElementRef<typeof View> | null>;
9
+ }
10
+ export declare const usePsMenuAnchor: () => PsMenuAnchorResult;
@@ -0,0 +1,13 @@
1
+ import { useRef, useState } from 'react';
2
+ export const usePsMenuAnchor = () => {
3
+ const ref = useRef(null);
4
+ const [anchor, setAnchor] = useState(undefined);
5
+ return {
6
+ anchor,
7
+ close: () => setAnchor(undefined),
8
+ open: () => {
9
+ ref.current?.measureInWindow((x, y, width, height) => setAnchor({ height, width, x, y }));
10
+ },
11
+ ref,
12
+ };
13
+ };
@@ -0,0 +1,4 @@
1
+ export declare const usePsMenuTiles: () => {
2
+ onTile: (key: string, uri: string) => void;
3
+ tiles: Record<string, string>;
4
+ };
@@ -0,0 +1,8 @@
1
+ import { useCallback, useState } from 'react';
2
+ export const usePsMenuTiles = () => {
3
+ const [tiles, setTiles] = useState({});
4
+ const onTile = useCallback((key, uri) => {
5
+ setTiles((current) => (current[key] === uri ? current : { ...current, [key]: uri }));
6
+ }, []);
7
+ return { onTile, tiles };
8
+ };
@@ -0,0 +1,2 @@
1
+ import type { UsePsQuickActionsOptions } from '../interfaces/use-ps-quick-actions-options';
2
+ export declare const usePsQuickActions: ({ items, onSelect }: UsePsQuickActionsOptions) => void;
@@ -0,0 +1,30 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { PsQuickActionService } from '../services/ps-quick-action-service';
3
+ export const usePsQuickActions = ({ items, onSelect }) => {
4
+ const latest = useRef({ items, onSelect });
5
+ const key = PsQuickActionService.key(items);
6
+ useEffect(() => {
7
+ latest.current = { items, onSelect };
8
+ });
9
+ useEffect(() => {
10
+ const native = PsQuickActionService.load();
11
+ if (native === null)
12
+ return;
13
+ void native
14
+ .setItems(PsQuickActionService.toNative(latest.current.items))
15
+ .catch(() => undefined);
16
+ }, [key]);
17
+ useEffect(() => {
18
+ const native = PsQuickActionService.load();
19
+ if (native === null)
20
+ return;
21
+ const initial = PsQuickActionService.takeInitial(native);
22
+ if (initial !== null)
23
+ latest.current.onSelect(initial.id);
24
+ const subscription = native.addListener((action) => latest.current.onSelect(action.id));
25
+ return () => {
26
+ subscription.remove();
27
+ void native.setItems([]).catch(() => undefined);
28
+ };
29
+ }, []);
30
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsStackScreenOptions } from '../interfaces/ps-stack-screen-options';
2
+ export declare const usePsStackScreenOptions: (base: PsStackScreenOptions) => PsStackScreenOptions;
@@ -0,0 +1,7 @@
1
+ import { Platform } from 'react-native';
2
+ import { PsStackOptionsService } from '../services/ps-stack-options-service';
3
+ import { usePsMobileTheme } from './use-ps-mobile-theme';
4
+ export const usePsStackScreenOptions = (base) => {
5
+ const theme = usePsMobileTheme();
6
+ return Platform.OS === 'android' ? PsStackOptionsService.android(base, theme) : base;
7
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsTabBarContextData } from '../interfaces/ps-tab-bar-context-data';
2
+ export declare const usePsTabBar: () => PsTabBarContextData;
@@ -0,0 +1,3 @@
1
+ import { useContext } from 'react';
2
+ import { PsTabBarContext } from '../contexts/ps-tab-bar-context';
3
+ export const usePsTabBar = () => useContext(PsTabBarContext);
@@ -0,0 +1 @@
1
+ export declare const usePsTopInset: () => number;
@@ -0,0 +1,10 @@
1
+ import { use } from 'react';
2
+ import { HeaderHeightContext } from 'expo-router/build/react-navigation/elements/Header/HeaderHeightContext';
3
+ import { Platform } from 'react-native';
4
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
+ import { PsScreenService } from '../services/ps-screen-service';
6
+ export const usePsTopInset = () => {
7
+ const insets = useSafeAreaInsets();
8
+ const headerHeight = use(HeaderHeightContext);
9
+ return Platform.OS === 'ios' ? insets.top : PsScreenService.topInset(insets.top, headerHeight);
10
+ };
package/dist/index.d.ts CHANGED
@@ -14,6 +14,7 @@ export * from './components/ps-date-field';
14
14
  export * from './components/ps-document-preview';
15
15
  export * from './components/ps-document-viewer';
16
16
  export * from './components/ps-donut-chart';
17
+ export * from './components/ps-waterfall-chart';
17
18
  export * from './components/ps-empty-state';
18
19
  export * from './components/ps-field-skeleton';
19
20
  export * from './components/ps-form-sheet';
@@ -27,8 +28,13 @@ export * from './components/ps-pallasoft-sign-in-button';
27
28
  export * from './components/ps-color-swatches';
28
29
  export * from './components/ps-count-badge';
29
30
  export * from './components/ps-segmented-control';
31
+ export * from './components/ps-selection-mode';
32
+ export * from './components/ps-tab-bar-provider';
30
33
  export * from './components/ps-tabs';
34
+ export * from './components/ps-option-picker';
35
+ export * from './components/ps-search-select-field';
31
36
  export * from './components/ps-select';
37
+ export * from './components/ps-switcher';
32
38
  export * from './components/ps-skeleton';
33
39
  export * from './components/ps-sortable-grid';
34
40
  export * from './components/ps-sparkline';
@@ -39,31 +45,47 @@ export * from './components/ps-text-field';
39
45
  export * from './components/ps-text-link';
40
46
  export * from './components/ps-toast';
41
47
  export * from './components/ps-widget-list';
48
+ export * from './constants/ps-capture-source';
42
49
  export * from './constants/ps-document-kind';
50
+ export * from './constants/ps-document-load-status';
43
51
  export * from './constants/ps-document-scanner-config';
44
52
  export * from './constants/ps-chart-delta';
53
+ export * from './constants/ps-cartesian-series-shape';
45
54
  export * from './constants/ps-chart-kind';
46
55
  export * from './constants/ps-chart-skeleton-variant';
47
56
  export * from './constants/ps-mobile-icon-key';
48
57
  export * from './constants/ps-skeleton-shape';
49
58
  export * from './constants/ps-sortable-grid-span';
50
59
  export * from './hooks/use-ps-document-scanner';
60
+ export * from './hooks/use-ps-file-upload';
51
61
  export * from './hooks/use-ps-haptics';
52
62
  export * from './hooks/use-ps-mobile-theme';
53
63
  export * from './hooks/use-ps-refresh';
64
+ export * from './hooks/use-ps-tab-bar';
65
+ export * from './hooks/use-ps-stack-screen-options';
66
+ export type { PsStackScreenOptions } from './interfaces/ps-stack-screen-options';
54
67
  export * from './hooks/use-ps-toast';
55
68
  export * from './hooks/use-ps-remote-data';
69
+ export * from './interfaces/ps-capture-labels';
70
+ export * from './interfaces/ps-capture-menu-options';
71
+ export * from './interfaces/ps-capture-options';
72
+ export * from './interfaces/ps-device-file';
56
73
  export * from './interfaces/ps-document-item';
57
74
  export * from './interfaces/ps-document-labels';
58
75
  export * from './interfaces/ps-document-scanner-options';
59
76
  export * from './interfaces/ps-document-source';
77
+ export * from './interfaces/ps-file-upload-options';
78
+ export * from './interfaces/use-ps-file-upload-result';
79
+ export * from './interfaces/ps-tab-bar-context-data';
60
80
  export * from './interfaces/ps-area-chart-datum';
61
81
  export * from './interfaces/ps-cartesian-chart-series';
62
82
  export * from './interfaces/ps-donut-chart-datum';
83
+ export * from './interfaces/ps-waterfall-datum';
63
84
  export * from './interfaces/ps-action-menu-header';
64
85
  export * from './interfaces/ps-action-menu-section';
65
86
  export * from './interfaces/ps-menu-item';
66
87
  export * from './interfaces/ps-menu-item-tone';
88
+ export * from './interfaces/ps-switcher-item';
67
89
  export * from './interfaces/ps-haptic-kind';
68
90
  export * from './services/ps-haptic-service';
69
91
  export * from './interfaces/ps-chart-palette-colors';
@@ -78,10 +100,16 @@ export * from './interfaces/ps-text-field-type';
78
100
  export * from './interfaces/ps-scanned-file';
79
101
  export * from './interfaces/use-ps-document-scanner-result';
80
102
  export { PsActionMenuService } from './services/ps-action-menu-service';
103
+ export { PsSelectionService } from './services/ps-selection-service';
81
104
  export { PsSortableGridService } from './services/ps-sortable-grid-service';
82
105
  export { PsDocumentPagerService } from './services/ps-document-pager-service';
83
106
  export { PsDocumentZoomService } from './services/ps-document-zoom-service';
84
107
  export { PsDocumentScannerService } from './services/ps-document-scanner-service';
108
+ export { PsCapturePickerService } from './services/ps-capture-picker-service';
109
+ export { PsCaptureSourceService } from './services/ps-capture-source-service';
110
+ export { PsDeviceFileService } from './services/ps-device-file-service';
111
+ export { PsDocumentOpenService } from './services/ps-document-open-service';
112
+ export { PsDocumentPdfService } from './services/ps-document-pdf-service';
85
113
  export type { PsAmountDirection } from './services/ps-amount-tone-service';
86
114
  export type { PsBadgeTone } from './services/ps-badge-tone-service';
87
115
  export type { PsButtonVariant } from './services/ps-button-style-service';
@@ -99,6 +127,8 @@ export * from './components/ps-card';
99
127
  export * from './components/ps-checkbox';
100
128
  export * from './components/ps-chip';
101
129
  export * from './components/ps-icon-button';
130
+ export * from './components/ps-header-action';
131
+ export * from './components/ps-header-menu';
102
132
  export * from './components/ps-page-header';
103
133
  export * from './components/ps-screen';
104
134
  export * from './components/ps-sheet';
@@ -112,3 +142,35 @@ export * from './interfaces/ps-text-align';
112
142
  export * from './interfaces/ps-text-tone';
113
143
  export * from './interfaces/ps-text-variant';
114
144
  export * from './interfaces/ps-sheet-action';
145
+ export * from './interfaces/ps-sheet-leading-kind';
146
+ export * from './interfaces/ps-sheet-page';
147
+ export * from './components/ps-app-lock-screen';
148
+ export * from './components/ps-privacy-cover';
149
+ export * from './constants/ps-biometry-kind';
150
+ export * from './hooks/use-ps-app-lock';
151
+ export * from './interfaces/ps-app-lock-prompt';
152
+ export * from './interfaces/use-ps-app-lock-options';
153
+ export * from './interfaces/use-ps-app-lock-result';
154
+ export { PsAppLockGraceService } from './services/ps-app-lock-grace-service';
155
+ export { PsAppLockService } from './services/ps-app-lock-service';
156
+ export * from './constants/ps-ripple-kind';
157
+ export * from './interfaces/ps-material-scheme';
158
+ export * from './interfaces/ps-tab-bar-style';
159
+ export * from './interfaces/ps-tab-bar-icon-colors';
160
+ export * from './interfaces/ps-tab-bar-label-style';
161
+ export * from './interfaces/ps-tab-bar-label-styles';
162
+ export { PsMaterialSchemeService } from './services/ps-material-scheme-service';
163
+ export { PsRippleService } from './services/ps-ripple-service';
164
+ export { PsTabBarStyleService } from './services/ps-tab-bar-style-service';
165
+ export { usePsMaterialScheme } from './hooks/use-ps-material-scheme';
166
+ export * from './hooks/use-ps-quick-actions';
167
+ export * from './interfaces/ps-quick-action';
168
+ export * from './interfaces/use-ps-quick-actions-options';
169
+ export { PsQuickActionService } from './services/ps-quick-action-service';
170
+ export * from './components/ps-barcode-scanner-sheet';
171
+ export * from './constants/ps-barcode-permission';
172
+ export * from './hooks/use-ps-barcode-scanner';
173
+ export * from './interfaces/ps-barcode-scan';
174
+ export * from './interfaces/ps-barcode-scanner-labels';
175
+ export * from './interfaces/use-ps-barcode-scanner-result';
176
+ export { PsBarcodeScannerService } from './services/ps-barcode-scanner-service';