@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,8 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PsSheetPageViewProps {
3
+ children: ReactNode;
4
+ isAnimated: boolean;
5
+ isPage: boolean;
6
+ pageId: string;
7
+ }
8
+ export declare const PsSheetPageView: ({ children, isAnimated, isPage, pageId }: PsSheetPageViewProps) => import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import Animated, { SlideInLeft, SlideInRight } from 'react-native-reanimated';
3
+ import { PsSheetPageConfig } from '../../constants/ps-sheet-page-config';
4
+ import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
5
+ export const PsSheetPageView = ({ children, isAnimated, isPage, pageId }) => {
6
+ const theme = usePsMobileTheme();
7
+ const entering = theme.isReduceMotion || !isAnimated
8
+ ? undefined
9
+ : (isPage ? SlideInRight : SlideInLeft).duration(PsSheetPageConfig.duration);
10
+ return (_jsx(Animated.View, { entering: entering, testID: `ps-sheet-page-${pageId}`, children: children }, pageId));
11
+ };
@@ -2,16 +2,16 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { ModalBottomSheet, RNHostView } from '@expo/ui/jetpack-compose';
3
3
  import { imePadding } from '@expo/ui/jetpack-compose/modifiers';
4
4
  import { PsNativeTreeContext } from '../../contexts/ps-native-tree-context';
5
- import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
5
+ import { usePsMaterialScheme } from '../../hooks/use-ps-material-scheme';
6
6
  import { PsHost } from '../ps-host/ps-host';
7
7
  export const PsSheetPresenter = ({ children, isDismissBlocked, isOpen, onClose, }) => {
8
- const theme = usePsMobileTheme();
9
- return isOpen ? (_jsx(PsHost, { matchContents: true, children: _jsx(ModalBottomSheet, { containerColor: theme.background, onDismissRequest: () => {
8
+ const scheme = usePsMaterialScheme();
9
+ return isOpen ? (_jsx(PsHost, { matchContents: true, children: _jsx(ModalBottomSheet, { containerColor: scheme.surfaceContainerHigh, contentColor: scheme.onSurface, onDismissRequest: () => {
10
10
  if (!isDismissBlocked) {
11
11
  onClose();
12
12
  }
13
13
  }, properties: {
14
14
  shouldDismissOnBackPress: !isDismissBlocked,
15
15
  shouldDismissOnClickOutside: !isDismissBlocked,
16
- }, sheetGesturesEnabled: !isDismissBlocked, skipPartiallyExpanded: true, children: _jsx(RNHostView, { matchContents: { vertical: true }, modifiers: [imePadding()], children: _jsx(PsNativeTreeContext.Provider, { value: false, children: children }) }) }) })) : null;
16
+ }, scrimColor: scheme.scrim, sheetGesturesEnabled: !isDismissBlocked, skipPartiallyExpanded: true, children: _jsx(RNHostView, { matchContents: { vertical: true }, modifiers: [imePadding()], children: _jsx(PsNativeTreeContext.Provider, { value: false, children: children }) }) }) })) : null;
17
17
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useRef, useState } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { BottomSheet, Group, RNHostView } from '@expo/ui/swift-ui';
4
4
  import { frame, interactiveDismissDisabled, presentationBackground, presentationDetents, presentationDragIndicator, } from '@expo/ui/swift-ui/modifiers';
5
5
  import { PsNativeTreeContext } from '../../contexts/ps-native-tree-context';
@@ -14,6 +14,13 @@ export const PsSheetPresenter = ({ children, isDismissBlocked, isOpen, onClose,
14
14
  const [height, setHeight] = useState(0);
15
15
  isOpenRef.current = isOpen;
16
16
  isBlockedRef.current = isDismissBlocked;
17
+ const measure = useCallback((next) => {
18
+ setHeight((previous) => PsSheetService.grownHeight(previous, next, isOpenRef.current));
19
+ }, []);
20
+ useEffect(() => {
21
+ if (!isOpen)
22
+ setHeight(0);
23
+ }, [isOpen]);
17
24
  return (_jsx(PsHost, { matchContents: true, children: _jsx(BottomSheet, { isPresented: isOpen, onIsPresentedChange: (isPresented) => {
18
25
  if (PsSheetService.shouldClose(isPresented, isOpenRef.current, isBlockedRef.current)) {
19
26
  onClose();
@@ -24,5 +31,5 @@ export const PsSheetPresenter = ({ children, isDismissBlocked, isOpen, onClose,
24
31
  presentationDragIndicator('visible'),
25
32
  presentationBackground(theme.background),
26
33
  interactiveDismissDisabled(isDismissBlocked),
27
- ], children: _jsx(RNHostView, { matchContents: { vertical: true }, children: _jsx(PsNativeTreeContext.Provider, { value: false, children: _jsx(PsSheetMeasureContext.Provider, { value: setHeight, children: children }) }) }) }) }) }));
34
+ ], children: _jsx(RNHostView, { matchContents: { vertical: true }, children: _jsx(PsNativeTreeContext.Provider, { value: false, children: _jsx(PsSheetMeasureContext.Provider, { value: measure, children: children }) }) }) }) }) }));
28
35
  };
@@ -36,6 +36,8 @@ export const PsSortableItem = ({ canMoveDown, canMoveUp, children, dragX, dragY,
36
36
  const pan = usePanGesture({
37
37
  activateAfterLongPress: PsSortableGridConfig.longPressMs,
38
38
  enabled: !isDisabled,
39
+ failOffsetX: [-PsSortableGridConfig.holdTolerance, PsSortableGridConfig.holdTolerance],
40
+ failOffsetY: [-PsSortableGridConfig.holdTolerance, PsSortableGridConfig.holdTolerance],
39
41
  onActivate: (event) => onStart(id, event.absoluteY),
40
42
  onFinalize: onEnd,
41
43
  onUpdate: (event) => onUpdate(event.translationX, event.translationY, event.absoluteY),
@@ -0,0 +1,2 @@
1
+ import type { PsSpinnerProps } from './ps-spinner-props';
2
+ export declare const PsSpinner: ({ color, size }: PsSpinnerProps) => import("react").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { LoadingIndicator } from '@expo/ui/jetpack-compose';
3
+ import { size as sizeModifier } from '@expo/ui/jetpack-compose/modifiers';
4
+ import { PsAndroidStateConfig } from '../../constants/ps-android-state-config';
5
+ import { usePsMobileTheme } from '../../hooks/use-ps-mobile-theme';
6
+ import { PsHost } from '../ps-host/ps-host';
7
+ export const PsSpinner = ({ color, size = 'small' }) => {
8
+ const theme = usePsMobileTheme();
9
+ const dimension = size === 'large'
10
+ ? PsAndroidStateConfig.loadingIndicatorLarge
11
+ : PsAndroidStateConfig.loadingIndicatorSmall;
12
+ return (_jsx(PsHost, { style: { height: dimension, width: dimension }, children: _jsx(LoadingIndicator, { color: color === undefined ? theme.primary : color, modifiers: [sizeModifier(dimension, dimension)] }) }));
13
+ };
@@ -0,0 +1,2 @@
1
+ import type { PsSwitchProps } from './ps-switch-props';
2
+ export declare const PsSwitch: ({ description, isChecked, isDisabled, label, onChange, }: PsSwitchProps) => import("react").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Switch } from '@expo/ui/jetpack-compose';
3
+ import { View } from 'react-native';
4
+ import { PsMobileControlConfig } from '../../constants/ps-mobile-control-config';
5
+ import { usePsHaptics } from '../../hooks/use-ps-haptics';
6
+ import { usePsMaterialScheme } from '../../hooks/use-ps-material-scheme';
7
+ import { PsMaterialControlService } from '../../services/ps-material-control-service';
8
+ import { PsStateService } from '../../services/ps-state-service';
9
+ import { PsHostScope } from '../ps-host-scope/ps-host-scope';
10
+ import { PsText } from '../ps-text/ps-text';
11
+ export const PsSwitch = ({ description, isChecked, isDisabled = false, label, onChange, }) => {
12
+ const haptic = usePsHaptics();
13
+ const colors = PsMaterialControlService.switchColors(usePsMaterialScheme());
14
+ return (_jsxs(View, { style: {
15
+ alignItems: 'center',
16
+ flexDirection: 'row',
17
+ gap: PsMobileControlConfig.rowSpacing,
18
+ }, children: [_jsxs(View, { style: {
19
+ flex: 1,
20
+ opacity: isDisabled ? PsStateService.disabledOpacity() : 1,
21
+ }, children: [_jsx(PsText, { weight: 'semibold', children: label }), description === undefined ? null : (_jsx(PsText, { tone: 'muted', variant: 'caption', children: description }))] }), _jsx(PsHostScope, { children: _jsx(Switch, { colors: colors, enabled: !isDisabled, onCheckedChange: (isOn) => {
22
+ haptic('selection');
23
+ onChange?.(isOn);
24
+ }, value: isChecked }) })] }));
25
+ };
@@ -0,0 +1,2 @@
1
+ export * from './ps-switcher';
2
+ export * from './ps-switcher-props';
@@ -0,0 +1,2 @@
1
+ export * from './ps-switcher';
2
+ export * from './ps-switcher-props';
@@ -0,0 +1,10 @@
1
+ import type { PsSwitcherItem } from '../../interfaces/ps-switcher-item';
2
+ export interface PsSwitcherPanelProps {
3
+ clearLabel: string;
4
+ items: PsSwitcherItem[];
5
+ noMatchLabel: string;
6
+ onSelect: (id: string) => void;
7
+ searchPlaceholder: string;
8
+ selectedId: string;
9
+ }
10
+ export declare const PsSwitcherPanel: ({ clearLabel, items, noMatchLabel, onSelect, searchPlaceholder, selectedId, }: PsSwitcherPanelProps) => import("react").JSX.Element;
@@ -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
+ };
@@ -0,0 +1,2 @@
1
+ export * from './ps-tab-bar-provider';
2
+ export * from './ps-tab-bar-provider-props';
@@ -0,0 +1,2 @@
1
+ export * from './ps-tab-bar-provider';
2
+ export * from './ps-tab-bar-provider-props';
@@ -0,0 +1,4 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PsTabBarProviderProps {
3
+ children: ReactNode;
4
+ }
@@ -0,0 +1,2 @@
1
+ import type { PsTabBarProviderProps } from './ps-tab-bar-provider-props';
2
+ export declare const PsTabBarProvider: ({ children }: PsTabBarProviderProps) => import("react").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo, useState } from 'react';
3
+ import { PsTabBarContext } from '../../contexts/ps-tab-bar-context';
4
+ export const PsTabBarProvider = ({ children }) => {
5
+ const [isHidden, setIsHidden] = useState(false);
6
+ const value = useMemo(() => ({ hasTabBar: true, isHidden, setIsHidden }), [isHidden]);
7
+ return _jsx(PsTabBarContext.Provider, { value: value, children: children });
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';
@@ -25,8 +27,8 @@ export const PsTabs = ({ getItemIcon, getItemKey, getItemLabel, isLoading = fals
25
27
  return (_jsx(View, { onLayout: (event) => setViewportWidth(event.nativeEvent.layout.width), style: { borderBottomColor: theme.line, borderBottomWidth: 1 }, children: _jsx(ScrollView, { accessibilityRole: 'tablist', contentContainerStyle: { flexGrow: 1 }, horizontal: true, ref: scroll, showsHorizontalScrollIndicator: false, children: items.map((item) => {
26
28
  const key = getItemKey(item);
27
29
  const isSelected = key === selectedKey;
28
- const color = isSelected ? theme.primary : theme.muted;
29
- return (_jsxs(Pressable, { accessibilityRole: 'tab', accessibilityState: { selected: isSelected }, onLayout: (event) => frames.current.set(key, {
30
+ const color = isSelected ? theme.primaryText : theme.muted;
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: () => {
@@ -6,7 +6,7 @@ export const PsTextLink = ({ children, onPress, tone = 'emphasis' }) => {
6
6
  const isEmphasis = tone === 'emphasis';
7
7
  const isWhite = tone === 'white';
8
8
  return (_jsx(PsText, { accessibilityRole: 'link', onPress: onPress, style: {
9
- textDecorationColor: isEmphasis ? theme.primary : isWhite ? theme.white : theme.muted,
9
+ textDecorationColor: isEmphasis ? theme.primaryText : isWhite ? theme.white : theme.muted,
10
10
  textDecorationLine: 'underline',
11
11
  }, tone: isWhite ? 'white' : isEmphasis ? 'ink' : 'muted', weight: isEmphasis || isWhite ? 'semibold' : 'regular', children: children }));
12
12
  };
@@ -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,13 @@
1
+ export declare const PsAppLockConfig: {
2
+ readonly activeState: "active";
3
+ readonly backgroundState: "background";
4
+ readonly inactiveState: "inactive";
5
+ readonly defaultGraceSeconds: 60;
6
+ readonly iosPlatform: "ios";
7
+ readonly nativeModuleName: "ExpoLocalAuthentication";
8
+ readonly layout: {
9
+ readonly gap: 24;
10
+ readonly horizontalPadding: 20;
11
+ readonly maxWidth: 384;
12
+ };
13
+ };
@@ -0,0 +1,13 @@
1
+ export const PsAppLockConfig = {
2
+ activeState: 'active',
3
+ backgroundState: 'background',
4
+ inactiveState: 'inactive',
5
+ defaultGraceSeconds: 60,
6
+ iosPlatform: 'ios',
7
+ nativeModuleName: 'ExpoLocalAuthentication',
8
+ layout: {
9
+ gap: 24,
10
+ horizontalPadding: 20,
11
+ maxWidth: 384,
12
+ },
13
+ };
@@ -0,0 +1,10 @@
1
+ export declare const PsAuthenticationTypeCode: {
2
+ readonly face: 2;
3
+ readonly fingerprint: 1;
4
+ readonly iris: 3;
5
+ };
6
+ export declare const PsSecurityLevelCode: {
7
+ readonly biometricWeak: 2;
8
+ readonly none: 0;
9
+ readonly secret: 1;
10
+ };
@@ -0,0 +1,10 @@
1
+ export const PsAuthenticationTypeCode = {
2
+ face: 2,
3
+ fingerprint: 1,
4
+ iris: 3,
5
+ };
6
+ export const PsSecurityLevelCode = {
7
+ biometricWeak: 2,
8
+ none: 0,
9
+ secret: 1,
10
+ };
@@ -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,7 @@
1
+ export declare const PsBiometryKind: {
2
+ readonly face: "face";
3
+ readonly fingerprint: "fingerprint";
4
+ readonly iris: "iris";
5
+ readonly passcode: "passcode";
6
+ };
7
+ export type PsBiometryKind = (typeof PsBiometryKind)[keyof typeof PsBiometryKind];
@@ -0,0 +1,6 @@
1
+ export const PsBiometryKind = {
2
+ face: 'face',
3
+ fingerprint: 'fingerprint',
4
+ iris: 'iris',
5
+ passcode: 'passcode',
6
+ };