@pod-os/elements 0.4.0 → 0.4.1-2e30028.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 (119) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/{ion-app_40.cjs.entry.js → ion-app_42.cjs.entry.js} +561 -31
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +7 -0
  5. package/dist/collection/collection-manifest.json +2 -1
  6. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js +64 -0
  7. package/dist/collection/components/pos-router/pos-router.js +1 -1
  8. package/dist/custom-elements/index.d.ts +12 -6
  9. package/dist/custom-elements/index.js +205 -33
  10. package/dist/elements/elements.esm.js +1 -1
  11. package/dist/elements/{p-4809c08b.entry.js → p-0be044f1.entry.js} +1 -1
  12. package/dist/elements/{p-9038f68e.entry.js → p-119c7c6c.entry.js} +1 -1
  13. package/dist/elements/{p-ab1b1b03.entry.js → p-14c7c3ea.entry.js} +1 -1
  14. package/dist/elements/{p-c4fb313e.entry.js → p-1d894ac4.entry.js} +1 -1
  15. package/dist/elements/{p-4250dc8d.entry.js → p-23b89ccb.entry.js} +1 -1
  16. package/dist/elements/{p-d2d84b3a.entry.js → p-2c03b9ab.entry.js} +1 -1
  17. package/dist/elements/{p-0908233c.entry.js → p-31d30e42.entry.js} +1 -1
  18. package/dist/elements/p-346985f2.js +1 -0
  19. package/dist/elements/{p-5617a76d.entry.js → p-360f1c62.entry.js} +1 -1
  20. package/dist/elements/{p-9813457e.entry.js → p-373e1f25.entry.js} +1 -1
  21. package/dist/elements/{p-84fa4ed5.entry.js → p-40547acb.entry.js} +1 -1
  22. package/dist/elements/{p-9fb98135.entry.js → p-40b68014.entry.js} +1 -1
  23. package/dist/elements/{p-b46d3ab6.entry.js → p-42e4f702.entry.js} +1 -1
  24. package/dist/elements/p-489807e5.js +1 -0
  25. package/dist/elements/{p-feda4431.entry.js → p-4ad72d54.entry.js} +1 -1
  26. package/dist/elements/{p-735719e4.js → p-4f24d306.js} +1 -1
  27. package/dist/elements/{p-0dbeacc4.entry.js → p-536e8e52.entry.js} +1 -1
  28. package/dist/elements/p-5eb7a546.js +1 -0
  29. package/dist/elements/{p-bab1fbc4.entry.js → p-60df2bed.entry.js} +1 -1
  30. package/dist/elements/{p-9b903903.js → p-6693fce8.js} +1 -1
  31. package/dist/elements/{p-c11279fc.js → p-707d5d76.js} +1 -1
  32. package/dist/elements/{p-f5b9742c.js → p-7212b7f2.js} +1 -1
  33. package/dist/elements/{p-78511267.entry.js → p-73992898.entry.js} +1 -1
  34. package/dist/elements/{p-3dabcacb.entry.js → p-83accf46.entry.js} +1 -1
  35. package/dist/elements/{p-e5e5d3fe.entry.js → p-89c12ce8.entry.js} +1 -1
  36. package/dist/elements/{p-36f660e0.entry.js → p-8c759f51.entry.js} +1 -1
  37. package/dist/elements/{p-5d1dc8fb.entry.js → p-8f945e6b.entry.js} +1 -1
  38. package/dist/elements/{p-c3c81ed2.js → p-9300ab6a.js} +1 -1
  39. package/dist/elements/{p-1aa0e849.js → p-99f8abed.js} +1 -1
  40. package/dist/elements/{p-1bb1a7ba.js → p-9ca7e079.js} +1 -1
  41. package/dist/elements/{p-971d348c.entry.js → p-a4648b74.entry.js} +1 -1
  42. package/dist/elements/{p-f8be6f3e.entry.js → p-ad4e2295.entry.js} +1 -1
  43. package/dist/elements/{p-e89acad8.entry.js → p-b078d63b.entry.js} +1 -1
  44. package/dist/elements/{p-24605c2e.entry.js → p-b5406b58.entry.js} +1 -1
  45. package/dist/elements/{p-203cbbcc.entry.js → p-b5ef0c91.entry.js} +1 -1
  46. package/dist/elements/{p-9dad7470.entry.js → p-b6ba623e.entry.js} +1 -1
  47. package/dist/elements/{p-d7dfabd5.entry.js → p-bfd4cfcd.entry.js} +1 -1
  48. package/dist/elements/p-c0db9c51.entry.js +1 -0
  49. package/dist/elements/{p-4d7de1f8.entry.js → p-cf8a7031.entry.js} +1 -1
  50. package/dist/elements/{p-77d68651.entry.js → p-d6d1e65f.entry.js} +1 -1
  51. package/dist/elements/p-e41ffcca.entry.js +67 -0
  52. package/dist/elements/{p-4a732500.entry.js → p-e642b266.entry.js} +1 -1
  53. package/dist/elements/{p-039fd555.js → p-f0474f46.js} +1 -1
  54. package/dist/elements/{p-db7feea8.entry.js → p-f10a94f6.entry.js} +1 -1
  55. package/dist/elements/{p-a68c3324.js → p-f327fd21.js} +1 -1
  56. package/dist/elements/p-f84987ee.js +1 -0
  57. package/dist/esm/{animation-cb124ae5.js → animation-fe6ed422.js} +1 -1
  58. package/dist/esm/elements.js +1 -1
  59. package/dist/esm/{framework-delegate-ef487ffc.js → framework-delegate-9cd8048f.js} +1 -1
  60. package/dist/esm/{helpers-af16fc18.js → helpers-44e3bd9f.js} +1 -1
  61. package/dist/esm/{index-8b5d780d.js → index-8a463a85.js} +3 -3
  62. package/dist/esm/{index-6f52f626.js → index-97199683.js} +2 -2
  63. package/dist/esm/{input-shims-dbfbbeff.js → input-shims-3b48722f.js} +1 -1
  64. package/dist/esm/ion-action-sheet.entry.js +3 -3
  65. package/dist/esm/ion-alert.entry.js +3 -3
  66. package/dist/esm/{ion-app_40.entry.js → ion-app_42.entry.js} +563 -35
  67. package/dist/esm/ion-back-button.entry.js +1 -1
  68. package/dist/esm/ion-checkbox.entry.js +1 -1
  69. package/dist/esm/ion-datetime.entry.js +2 -2
  70. package/dist/esm/ion-input.entry.js +1 -1
  71. package/dist/esm/ion-item-options.entry.js +1 -1
  72. package/dist/esm/ion-item-sliding.entry.js +1 -1
  73. package/dist/esm/ion-list-header_3.entry.js +1 -1
  74. package/dist/esm/ion-loading.entry.js +3 -3
  75. package/dist/esm/ion-menu-button.entry.js +4 -4
  76. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  77. package/dist/esm/ion-menu.entry.js +3 -3
  78. package/dist/esm/ion-modal.entry.js +5 -5
  79. package/dist/esm/ion-nav.entry.js +4 -4
  80. package/dist/esm/ion-picker-column.entry.js +1 -1
  81. package/dist/esm/ion-picker.entry.js +3 -3
  82. package/dist/esm/ion-popover.entry.js +5 -5
  83. package/dist/esm/ion-range.entry.js +1 -1
  84. package/dist/esm/ion-refresher.entry.js +2 -2
  85. package/dist/esm/ion-router-outlet.entry.js +4 -4
  86. package/dist/esm/ion-router.entry.js +1 -1
  87. package/dist/esm/ion-segment-button.entry.js +1 -1
  88. package/dist/esm/ion-segment.entry.js +1 -1
  89. package/dist/esm/ion-select-popover.entry.js +2 -2
  90. package/dist/esm/ion-select.entry.js +2 -2
  91. package/dist/esm/ion-slides.entry.js +1 -1
  92. package/dist/esm/ion-tab.entry.js +2 -2
  93. package/dist/esm/ion-textarea.entry.js +1 -1
  94. package/dist/esm/ion-toast.entry.js +3 -3
  95. package/dist/esm/ion-toggle.entry.js +1 -1
  96. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  97. package/dist/esm/{ios.transition-b01e6585.js → ios.transition-a783e3cd.js} +3 -3
  98. package/dist/esm/loader.js +1 -1
  99. package/dist/esm/{md.transition-8b14ce53.js → md.transition-5a4a8c82.js} +3 -3
  100. package/dist/esm/{menu-toggle-util-e1b8b1b3.js → menu-toggle-util-562dfc9c.js} +1 -1
  101. package/dist/esm/{overlays-a2145347.js → overlays-fc9a0625.js} +1 -1
  102. package/dist/esm/{status-tap-b8a70b06.js → status-tap-69e62ad6.js} +1 -1
  103. package/dist/esm/{swipe-back-7e655479.js → swipe-back-d84cfc8a.js} +1 -1
  104. package/dist/esm/{tap-click-faa3d392.js → tap-click-a7e55ef5.js} +1 -1
  105. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +3 -0
  106. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +9 -0
  107. package/dist/types/components.d.ts +33 -13
  108. package/package.json +1 -1
  109. package/dist/cjs/ion-searchbar.cjs.entry.js +0 -370
  110. package/dist/collection/components/pos-demo-app/pos-demo-app.js +0 -7
  111. package/dist/elements/p-263a0343.js +0 -1
  112. package/dist/elements/p-2c747ed4.entry.js +0 -1
  113. package/dist/elements/p-2f2718d4.entry.js +0 -1
  114. package/dist/elements/p-53166138.js +0 -1
  115. package/dist/elements/p-6e247b63.js +0 -1
  116. package/dist/elements/p-a15e4603.js +0 -1
  117. package/dist/elements/p-ed0c27e2.entry.js +0 -67
  118. package/dist/esm/ion-searchbar.entry.js +0 -366
  119. package/dist/types/components/pos-demo-app/pos-demo-app.d.ts +0 -3
@@ -1844,6 +1844,366 @@ const Row = class {
1844
1844
  };
1845
1845
  Row.style = rowCss;
1846
1846
 
1847
+ const searchbarIosCss = ".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;height:60px;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-searchbar-ios-h{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}.searchbar-input-container.sc-ion-searchbar-ios{height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:calc(50% - 60px);left:5px;top:0;position:absolute;width:22px;height:100%;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px)}}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}.searchbar-input.sc-ion-searchbar-ios{padding-left:28px;padding-right:28px;padding-top:0;padding-bottom:0;height:100%;font-size:17px;font-weight:400;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:28px;padding-inline-start:28px;-webkit-padding-end:28px;padding-inline-end:28px}}.searchbar-clear-button.sc-ion-searchbar-ios{right:0;top:0;background-position:center;position:absolute;width:30px;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}.searchbar-clear-icon.sc-ion-searchbar-ios{width:18px;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:8px;padding-right:0;padding-top:0;padding-bottom:0;flex-shrink:0;background-color:transparent;font-size:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-cancel-button.sc-ion-searchbar-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:30px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{padding-left:unset;-webkit-padding-start:30px;padding-inline-start:30px}}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:-100%;transform:translate3d(0, 0, 0);transition:all 300ms ease;opacity:0;pointer-events:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{margin-right:unset;-webkit-margin-end:-100%;margin-inline-end:-100%}}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";
1848
+
1849
+ const searchbarMdCss = ".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;background:inherit}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.searchbar-search-icon.sc-ion-searchbar-md{left:16px;top:11px;width:21px;height:21px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}.searchbar-cancel-button.sc-ion-searchbar-md{left:5px;top:0;background-color:transparent;font-size:1.6em}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:5px}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{padding-left:55px;padding-right:55px;padding-top:6px;padding-bottom:6px;background-position:left 8px center;height:auto;font-size:16px;font-weight:400;line-height:30px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.searchbar-input.sc-ion-searchbar-md{padding-left:unset;padding-right:unset;-webkit-padding-start:55px;padding-inline-start:55px;-webkit-padding-end:55px;padding-inline-end:55px}}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}.searchbar-clear-button.sc-ion-searchbar-md{right:13px;top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:22px;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:7px;padding-right:7px;padding-top:3px;padding-bottom:3px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{padding-left:unset;padding-right:unset;-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px}}";
1850
+
1851
+ const Searchbar = class {
1852
+ constructor(hostRef) {
1853
+ index$1.registerInstance(this, hostRef);
1854
+ this.ionInput = index$1.createEvent(this, "ionInput", 7);
1855
+ this.ionChange = index$1.createEvent(this, "ionChange", 7);
1856
+ this.ionCancel = index$1.createEvent(this, "ionCancel", 7);
1857
+ this.ionClear = index$1.createEvent(this, "ionClear", 7);
1858
+ this.ionBlur = index$1.createEvent(this, "ionBlur", 7);
1859
+ this.ionFocus = index$1.createEvent(this, "ionFocus", 7);
1860
+ this.ionStyle = index$1.createEvent(this, "ionStyle", 7);
1861
+ this.isCancelVisible = false;
1862
+ this.shouldAlignLeft = true;
1863
+ this.focused = false;
1864
+ this.noAnimate = true;
1865
+ /**
1866
+ * If `true`, enable searchbar animation.
1867
+ */
1868
+ this.animated = false;
1869
+ /**
1870
+ * Set the input's autocomplete property.
1871
+ */
1872
+ this.autocomplete = 'off';
1873
+ /**
1874
+ * Set the input's autocorrect property.
1875
+ */
1876
+ this.autocorrect = 'off';
1877
+ /**
1878
+ * Set the cancel button icon. Only applies to `md` mode.
1879
+ * Defaults to `"arrow-back-sharp"`.
1880
+ */
1881
+ this.cancelButtonIcon = ionicGlobal.config.get('backButtonIcon', 'arrow-back-sharp');
1882
+ /**
1883
+ * Set the the cancel button text. Only applies to `ios` mode.
1884
+ */
1885
+ this.cancelButtonText = 'Cancel';
1886
+ /**
1887
+ * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
1888
+ */
1889
+ this.debounce = 250;
1890
+ /**
1891
+ * If `true`, the user cannot interact with the input.
1892
+ */
1893
+ this.disabled = false;
1894
+ /**
1895
+ * Set the input's placeholder.
1896
+ * `placeholder` can accept either plaintext or HTML as a string.
1897
+ * To display characters normally reserved for HTML, they
1898
+ * must be escaped. For example `<Ionic>` would become
1899
+ * `&lt;Ionic&gt;`
1900
+ *
1901
+ * For more information: [Security Documentation](https://ionicframework.com/docs/faq/security)
1902
+ */
1903
+ this.placeholder = 'Search';
1904
+ /**
1905
+ * Sets the behavior for the cancel button. Defaults to `"never"`.
1906
+ * Setting to `"focus"` shows the cancel button on focus.
1907
+ * Setting to `"never"` hides the cancel button.
1908
+ * Setting to `"always"` shows the cancel button regardless
1909
+ * of focus state.
1910
+ */
1911
+ this.showCancelButton = 'never';
1912
+ /**
1913
+ * Sets the behavior for the clear button. Defaults to `"focus"`.
1914
+ * Setting to `"focus"` shows the clear button on focus if the
1915
+ * input is not empty.
1916
+ * Setting to `"never"` hides the clear button.
1917
+ * Setting to `"always"` shows the clear button regardless
1918
+ * of focus state, but only if the input is not empty.
1919
+ */
1920
+ this.showClearButton = 'focus';
1921
+ /**
1922
+ * If `true`, enable spellcheck on the input.
1923
+ */
1924
+ this.spellcheck = false;
1925
+ /**
1926
+ * Set the type of the input.
1927
+ */
1928
+ this.type = 'search';
1929
+ /**
1930
+ * the value of the searchbar.
1931
+ */
1932
+ this.value = '';
1933
+ /**
1934
+ * Clears the input field and triggers the control change.
1935
+ */
1936
+ this.onClearInput = (ev, shouldFocus) => {
1937
+ this.ionClear.emit();
1938
+ if (ev) {
1939
+ ev.preventDefault();
1940
+ ev.stopPropagation();
1941
+ }
1942
+ // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527
1943
+ // wait for 4 frames
1944
+ setTimeout(() => {
1945
+ const value = this.getValue();
1946
+ if (value !== '') {
1947
+ this.value = '';
1948
+ this.ionInput.emit();
1949
+ /**
1950
+ * When tapping clear button
1951
+ * ensure input is focused after
1952
+ * clearing input so users
1953
+ * can quickly start typing.
1954
+ */
1955
+ if (shouldFocus && !this.focused) {
1956
+ this.setFocus();
1957
+ }
1958
+ }
1959
+ }, 16 * 4);
1960
+ };
1961
+ /**
1962
+ * Clears the input field and tells the input to blur since
1963
+ * the clearInput function doesn't want the input to blur
1964
+ * then calls the custom cancel function if the user passed one in.
1965
+ */
1966
+ this.onCancelSearchbar = (ev) => {
1967
+ if (ev) {
1968
+ ev.preventDefault();
1969
+ ev.stopPropagation();
1970
+ }
1971
+ this.ionCancel.emit();
1972
+ this.onClearInput();
1973
+ if (this.nativeInput) {
1974
+ this.nativeInput.blur();
1975
+ }
1976
+ };
1977
+ /**
1978
+ * Update the Searchbar input value when the input changes
1979
+ */
1980
+ this.onInput = (ev) => {
1981
+ const input = ev.target;
1982
+ if (input) {
1983
+ this.value = input.value;
1984
+ }
1985
+ this.ionInput.emit(ev);
1986
+ };
1987
+ /**
1988
+ * Sets the Searchbar to not focused and checks if it should align left
1989
+ * based on whether there is a value in the searchbar or not.
1990
+ */
1991
+ this.onBlur = () => {
1992
+ this.focused = false;
1993
+ this.ionBlur.emit();
1994
+ this.positionElements();
1995
+ };
1996
+ /**
1997
+ * Sets the Searchbar to focused and active on input focus.
1998
+ */
1999
+ this.onFocus = () => {
2000
+ this.focused = true;
2001
+ this.ionFocus.emit();
2002
+ this.positionElements();
2003
+ };
2004
+ }
2005
+ debounceChanged() {
2006
+ this.ionChange = helpers.debounceEvent(this.ionChange, this.debounce);
2007
+ }
2008
+ valueChanged() {
2009
+ const inputEl = this.nativeInput;
2010
+ const value = this.getValue();
2011
+ if (inputEl && inputEl.value !== value) {
2012
+ inputEl.value = value;
2013
+ }
2014
+ this.ionChange.emit({ value });
2015
+ }
2016
+ showCancelButtonChanged() {
2017
+ requestAnimationFrame(() => {
2018
+ this.positionElements();
2019
+ index$1.forceUpdate(this);
2020
+ });
2021
+ }
2022
+ connectedCallback() {
2023
+ this.emitStyle();
2024
+ }
2025
+ componentDidLoad() {
2026
+ this.positionElements();
2027
+ this.debounceChanged();
2028
+ setTimeout(() => {
2029
+ this.noAnimate = false;
2030
+ }, 300);
2031
+ }
2032
+ emitStyle() {
2033
+ this.ionStyle.emit({
2034
+ 'searchbar': true
2035
+ });
2036
+ }
2037
+ /**
2038
+ * Sets focus on the specified `ion-searchbar`. Use this method instead of the global
2039
+ * `input.focus()`.
2040
+ */
2041
+ async setFocus() {
2042
+ if (this.nativeInput) {
2043
+ this.nativeInput.focus();
2044
+ }
2045
+ }
2046
+ /**
2047
+ * Returns the native `<input>` element used under the hood.
2048
+ */
2049
+ getInputElement() {
2050
+ return Promise.resolve(this.nativeInput);
2051
+ }
2052
+ /**
2053
+ * Positions the input search icon, placeholder, and the cancel button
2054
+ * based on the input value and if it is focused. (ios only)
2055
+ */
2056
+ positionElements() {
2057
+ const value = this.getValue();
2058
+ const prevAlignLeft = this.shouldAlignLeft;
2059
+ const mode = ionicGlobal.getIonMode(this);
2060
+ const shouldAlignLeft = (!this.animated || value.trim() !== '' || !!this.focused);
2061
+ this.shouldAlignLeft = shouldAlignLeft;
2062
+ if (mode !== 'ios') {
2063
+ return;
2064
+ }
2065
+ if (prevAlignLeft !== shouldAlignLeft) {
2066
+ this.positionPlaceholder();
2067
+ }
2068
+ if (this.animated) {
2069
+ this.positionCancelButton();
2070
+ }
2071
+ }
2072
+ /**
2073
+ * Positions the input placeholder
2074
+ */
2075
+ positionPlaceholder() {
2076
+ const inputEl = this.nativeInput;
2077
+ if (!inputEl) {
2078
+ return;
2079
+ }
2080
+ const isRTL = document.dir === 'rtl';
2081
+ const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');
2082
+ if (this.shouldAlignLeft) {
2083
+ inputEl.removeAttribute('style');
2084
+ iconEl.removeAttribute('style');
2085
+ }
2086
+ else {
2087
+ // Create a dummy span to get the placeholder width
2088
+ const doc = document;
2089
+ const tempSpan = doc.createElement('span');
2090
+ tempSpan.innerText = this.placeholder || '';
2091
+ doc.body.appendChild(tempSpan);
2092
+ // Get the width of the span then remove it
2093
+ helpers.raf(() => {
2094
+ const textWidth = tempSpan.offsetWidth;
2095
+ tempSpan.remove();
2096
+ // Calculate the input padding
2097
+ const inputLeft = 'calc(50% - ' + (textWidth / 2) + 'px)';
2098
+ // Calculate the icon margin
2099
+ const iconLeft = 'calc(50% - ' + ((textWidth / 2) + 30) + 'px)';
2100
+ // Set the input padding start and icon margin start
2101
+ if (isRTL) {
2102
+ inputEl.style.paddingRight = inputLeft;
2103
+ iconEl.style.marginRight = iconLeft;
2104
+ }
2105
+ else {
2106
+ inputEl.style.paddingLeft = inputLeft;
2107
+ iconEl.style.marginLeft = iconLeft;
2108
+ }
2109
+ });
2110
+ }
2111
+ }
2112
+ /**
2113
+ * Show the iOS Cancel button on focus, hide it offscreen otherwise
2114
+ */
2115
+ positionCancelButton() {
2116
+ const isRTL = document.dir === 'rtl';
2117
+ const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');
2118
+ const shouldShowCancel = this.shouldShowCancelButton();
2119
+ if (cancelButton && shouldShowCancel !== this.isCancelVisible) {
2120
+ const cancelStyle = cancelButton.style;
2121
+ this.isCancelVisible = shouldShowCancel;
2122
+ if (shouldShowCancel) {
2123
+ if (isRTL) {
2124
+ cancelStyle.marginLeft = '0';
2125
+ }
2126
+ else {
2127
+ cancelStyle.marginRight = '0';
2128
+ }
2129
+ }
2130
+ else {
2131
+ const offset = cancelButton.offsetWidth;
2132
+ if (offset > 0) {
2133
+ if (isRTL) {
2134
+ cancelStyle.marginLeft = -offset + 'px';
2135
+ }
2136
+ else {
2137
+ cancelStyle.marginRight = -offset + 'px';
2138
+ }
2139
+ }
2140
+ }
2141
+ }
2142
+ }
2143
+ getValue() {
2144
+ return this.value || '';
2145
+ }
2146
+ hasValue() {
2147
+ return this.getValue() !== '';
2148
+ }
2149
+ /**
2150
+ * Determines whether or not the cancel button should be visible onscreen.
2151
+ * Cancel button should be shown if one of two conditions applies:
2152
+ * 1. `showCancelButton` is set to `always`.
2153
+ * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.
2154
+ */
2155
+ shouldShowCancelButton() {
2156
+ if ((this.showCancelButton === 'never') || (this.showCancelButton === 'focus' && !this.focused)) {
2157
+ return false;
2158
+ }
2159
+ return true;
2160
+ }
2161
+ /**
2162
+ * Determines whether or not the clear button should be visible onscreen.
2163
+ * Clear button should be shown if one of two conditions applies:
2164
+ * 1. `showClearButton` is set to `always`.
2165
+ * 2. `showClearButton` is set to `focus`, and the searchbar has been focused.
2166
+ */
2167
+ shouldShowClearButton() {
2168
+ if ((this.showClearButton === 'never') || (this.showClearButton === 'focus' && !this.focused)) {
2169
+ return false;
2170
+ }
2171
+ return true;
2172
+ }
2173
+ render() {
2174
+ const { cancelButtonText } = this;
2175
+ const animated = this.animated && ionicGlobal.config.getBoolean('animated', true);
2176
+ const mode = ionicGlobal.getIonMode(this);
2177
+ const clearIcon = this.clearIcon || (mode === 'ios' ? 'close-circle' : 'close-sharp');
2178
+ const searchIcon = this.searchIcon || (mode === 'ios' ? 'search-outline' : 'search-sharp');
2179
+ const shouldShowCancelButton = this.shouldShowCancelButton();
2180
+ const cancelButton = (this.showCancelButton !== 'never') && (index$1.h("button", { "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, index$1.h("div", { "aria-hidden": "true" }, mode === 'md'
2181
+ ? index$1.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: this.cancelButtonIcon, lazy: false })
2182
+ : cancelButtonText)));
2183
+ return (index$1.h(index$1.Host, { role: "search", "aria-disabled": this.disabled ? 'true' : null, class: theme.createColorClasses(this.color, {
2184
+ [mode]: true,
2185
+ 'searchbar-animated': animated,
2186
+ 'searchbar-disabled': this.disabled,
2187
+ 'searchbar-no-animate': animated && this.noAnimate,
2188
+ 'searchbar-has-value': this.hasValue(),
2189
+ 'searchbar-left-aligned': this.shouldAlignLeft,
2190
+ 'searchbar-has-focus': this.focused,
2191
+ 'searchbar-should-show-clear': this.shouldShowClearButton(),
2192
+ 'searchbar-should-show-cancel': this.shouldShowCancelButton()
2193
+ }) }, index$1.h("div", { class: "searchbar-input-container" }, index$1.h("input", { "aria-label": "search text", disabled: this.disabled, ref: el => this.nativeInput = el, class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }), mode === 'md' && cancelButton, index$1.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: searchIcon, lazy: false, class: "searchbar-search-icon" }), index$1.h("button", { "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onMouseDown: ev => this.onClearInput(ev, true), onTouchStart: ev => this.onClearInput(ev, true) }, index$1.h("ion-icon", { "aria-hidden": "true", mode: mode, icon: clearIcon, lazy: false, class: "searchbar-clear-icon" }))), mode === 'ios' && cancelButton));
2194
+ }
2195
+ get el() { return index$1.getElement(this); }
2196
+ static get watchers() { return {
2197
+ "debounce": ["debounceChanged"],
2198
+ "value": ["valueChanged"],
2199
+ "showCancelButton": ["showCancelButtonChanged"]
2200
+ }; }
2201
+ };
2202
+ Searchbar.style = {
2203
+ ios: searchbarIosCss,
2204
+ md: searchbarMdCss
2205
+ };
2206
+
1847
2207
  const skeletonTextCss = ":host{--background:rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);border-radius:var(--border-radius, inherit);display:block;width:100%;height:inherit;margin-top:4px;margin-bottom:4px;background:var(--background);line-height:10px;user-select:none;pointer-events:none}span{display:inline-block}:host(.in-media){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;height:100%}:host(.skeleton-text-animated){position:relative;background:linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);background-size:800px 104px;animation-duration:1s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear}@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}";
1848
2208
 
1849
2209
  const SkeletonText = class {
@@ -24924,6 +25284,22 @@ var require_regenerator = __commonJS({
24924
25284
  // ../node_modules/@xmldom/xmldom/lib/conventions.js
24925
25285
  var require_conventions = __commonJS({
24926
25286
  "../node_modules/@xmldom/xmldom/lib/conventions.js"(exports) {
25287
+ function find(list, predicate, ac) {
25288
+ if (ac === void 0) {
25289
+ ac = Array.prototype;
25290
+ }
25291
+ if (list && typeof ac.find === "function") {
25292
+ return ac.find.call(list, predicate);
25293
+ }
25294
+ for (var i = 0; i < list.length; i++) {
25295
+ if (Object.prototype.hasOwnProperty.call(list, i)) {
25296
+ var item = list[i];
25297
+ if (predicate.call(void 0, item, i, list)) {
25298
+ return item;
25299
+ }
25300
+ }
25301
+ }
25302
+ }
24927
25303
  function freeze(object, oc) {
24928
25304
  if (oc === void 0) {
24929
25305
  oc = Object;
@@ -24961,6 +25337,7 @@ var require_conventions = __commonJS({
24961
25337
  XMLNS: "http://www.w3.org/2000/xmlns/"
24962
25338
  });
24963
25339
  exports.assign = assign;
25340
+ exports.find = find;
24964
25341
  exports.freeze = freeze;
24965
25342
  exports.MIME_TYPE = MIME_TYPE;
24966
25343
  exports.NAMESPACE = NAMESPACE;
@@ -24971,6 +25348,7 @@ var require_conventions = __commonJS({
24971
25348
  var require_dom = __commonJS({
24972
25349
  "../node_modules/@xmldom/xmldom/lib/dom.js"(exports) {
24973
25350
  var conventions = require_conventions();
25351
+ var find = conventions.find;
24974
25352
  var NAMESPACE = conventions.NAMESPACE;
24975
25353
  function notEmptyString(input) {
24976
25354
  return input !== "";
@@ -25078,6 +25456,12 @@ var require_dom = __commonJS({
25078
25456
  serializeToString(this[i], buf, isHTML, nodeFilter);
25079
25457
  }
25080
25458
  return buf.join("");
25459
+ },
25460
+ filter: function(predicate) {
25461
+ return Array.prototype.filter.call(this, predicate);
25462
+ },
25463
+ indexOf: function(item) {
25464
+ return Array.prototype.indexOf.call(this, item);
25081
25465
  }
25082
25466
  };
25083
25467
  function LiveNodeList(node, refresh) {
@@ -25140,7 +25524,7 @@ var require_dom = __commonJS({
25140
25524
  }
25141
25525
  }
25142
25526
  } else {
25143
- throw DOMException(NOT_FOUND_ERR, new Error(el.tagName + "@" + attr));
25527
+ throw new DOMException(NOT_FOUND_ERR, new Error(el.tagName + "@" + attr));
25144
25528
  }
25145
25529
  }
25146
25530
  NamedNodeMap.prototype = {
@@ -25242,7 +25626,7 @@ var require_dom = __commonJS({
25242
25626
  return _insertBefore(this, newChild, refChild);
25243
25627
  },
25244
25628
  replaceChild: function(newChild, oldChild) {
25245
- this.insertBefore(newChild, oldChild);
25629
+ _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);
25246
25630
  if (oldChild) {
25247
25631
  this.removeChild(oldChild);
25248
25632
  }
@@ -25329,6 +25713,7 @@ var require_dom = __commonJS({
25329
25713
  }
25330
25714
  }
25331
25715
  function Document() {
25716
+ this.ownerDocument = this;
25332
25717
  }
25333
25718
  function _onAddAttribute(doc, el, newAttr) {
25334
25719
  doc && doc._inc++;
@@ -25381,41 +25766,153 @@ var require_dom = __commonJS({
25381
25766
  _onUpdateChild(parentNode.ownerDocument, parentNode);
25382
25767
  return child;
25383
25768
  }
25384
- function _insertBefore(parentNode, newChild, nextChild) {
25385
- var cp = newChild.parentNode;
25769
+ function hasValidParentNodeType(node) {
25770
+ return node && (node.nodeType === Node3.DOCUMENT_NODE || node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node3.ELEMENT_NODE);
25771
+ }
25772
+ function hasInsertableNodeType(node) {
25773
+ return node && (isElementNode(node) || isTextNode(node) || isDocTypeNode(node) || node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node3.COMMENT_NODE || node.nodeType === Node3.PROCESSING_INSTRUCTION_NODE);
25774
+ }
25775
+ function isDocTypeNode(node) {
25776
+ return node && node.nodeType === Node3.DOCUMENT_TYPE_NODE;
25777
+ }
25778
+ function isElementNode(node) {
25779
+ return node && node.nodeType === Node3.ELEMENT_NODE;
25780
+ }
25781
+ function isTextNode(node) {
25782
+ return node && node.nodeType === Node3.TEXT_NODE;
25783
+ }
25784
+ function isElementInsertionPossible(doc, child) {
25785
+ var parentChildNodes = doc.childNodes || [];
25786
+ if (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {
25787
+ return false;
25788
+ }
25789
+ var docTypeNode = find(parentChildNodes, isDocTypeNode);
25790
+ return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));
25791
+ }
25792
+ function isElementReplacementPossible(doc, child) {
25793
+ var parentChildNodes = doc.childNodes || [];
25794
+ function hasElementChildThatIsNotChild(node) {
25795
+ return isElementNode(node) && node !== child;
25796
+ }
25797
+ if (find(parentChildNodes, hasElementChildThatIsNotChild)) {
25798
+ return false;
25799
+ }
25800
+ var docTypeNode = find(parentChildNodes, isDocTypeNode);
25801
+ return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));
25802
+ }
25803
+ function assertPreInsertionValidity1to5(parent2, node, child) {
25804
+ if (!hasValidParentNodeType(parent2)) {
25805
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected parent node type " + parent2.nodeType);
25806
+ }
25807
+ if (child && child.parentNode !== parent2) {
25808
+ throw new DOMException(NOT_FOUND_ERR, "child not in parent");
25809
+ }
25810
+ if (!hasInsertableNodeType(node) || isDocTypeNode(node) && parent2.nodeType !== Node3.DOCUMENT_NODE) {
25811
+ throw new DOMException(
25812
+ HIERARCHY_REQUEST_ERR,
25813
+ "Unexpected node type " + node.nodeType + " for parent node type " + parent2.nodeType
25814
+ );
25815
+ }
25816
+ }
25817
+ function assertPreInsertionValidityInDocument(parent2, node, child) {
25818
+ var parentChildNodes = parent2.childNodes || [];
25819
+ var nodeChildNodes = node.childNodes || [];
25820
+ if (node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) {
25821
+ var nodeChildElements = nodeChildNodes.filter(isElementNode);
25822
+ if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {
25823
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
25824
+ }
25825
+ if (nodeChildElements.length === 1 && !isElementInsertionPossible(parent2, child)) {
25826
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
25827
+ }
25828
+ }
25829
+ if (isElementNode(node)) {
25830
+ if (!isElementInsertionPossible(parent2, child)) {
25831
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
25832
+ }
25833
+ }
25834
+ if (isDocTypeNode(node)) {
25835
+ if (find(parentChildNodes, isDocTypeNode)) {
25836
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
25837
+ }
25838
+ var parentElementChild = find(parentChildNodes, isElementNode);
25839
+ if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {
25840
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
25841
+ }
25842
+ if (!child && parentElementChild) {
25843
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can not be appended since element is present");
25844
+ }
25845
+ }
25846
+ }
25847
+ function assertPreReplacementValidityInDocument(parent2, node, child) {
25848
+ var parentChildNodes = parent2.childNodes || [];
25849
+ var nodeChildNodes = node.childNodes || [];
25850
+ if (node.nodeType === Node3.DOCUMENT_FRAGMENT_NODE) {
25851
+ var nodeChildElements = nodeChildNodes.filter(isElementNode);
25852
+ if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {
25853
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
25854
+ }
25855
+ if (nodeChildElements.length === 1 && !isElementReplacementPossible(parent2, child)) {
25856
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
25857
+ }
25858
+ }
25859
+ if (isElementNode(node)) {
25860
+ if (!isElementReplacementPossible(parent2, child)) {
25861
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
25862
+ }
25863
+ }
25864
+ if (isDocTypeNode(node)) {
25865
+ let hasDoctypeChildThatIsNotChild2 = function(node2) {
25866
+ return isDocTypeNode(node2) && node2 !== child;
25867
+ };
25868
+ if (find(parentChildNodes, hasDoctypeChildThatIsNotChild2)) {
25869
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
25870
+ }
25871
+ var parentElementChild = find(parentChildNodes, isElementNode);
25872
+ if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {
25873
+ throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
25874
+ }
25875
+ }
25876
+ }
25877
+ function _insertBefore(parent2, node, child, _inDocumentAssertion) {
25878
+ assertPreInsertionValidity1to5(parent2, node, child);
25879
+ if (parent2.nodeType === Node3.DOCUMENT_NODE) {
25880
+ (_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent2, node, child);
25881
+ }
25882
+ var cp = node.parentNode;
25386
25883
  if (cp) {
25387
- cp.removeChild(newChild);
25884
+ cp.removeChild(node);
25388
25885
  }
25389
- if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) {
25390
- var newFirst = newChild.firstChild;
25886
+ if (node.nodeType === DOCUMENT_FRAGMENT_NODE) {
25887
+ var newFirst = node.firstChild;
25391
25888
  if (newFirst == null) {
25392
- return newChild;
25889
+ return node;
25393
25890
  }
25394
- var newLast = newChild.lastChild;
25891
+ var newLast = node.lastChild;
25395
25892
  } else {
25396
- newFirst = newLast = newChild;
25893
+ newFirst = newLast = node;
25397
25894
  }
25398
- var pre = nextChild ? nextChild.previousSibling : parentNode.lastChild;
25895
+ var pre = child ? child.previousSibling : parent2.lastChild;
25399
25896
  newFirst.previousSibling = pre;
25400
- newLast.nextSibling = nextChild;
25897
+ newLast.nextSibling = child;
25401
25898
  if (pre) {
25402
25899
  pre.nextSibling = newFirst;
25403
25900
  } else {
25404
- parentNode.firstChild = newFirst;
25901
+ parent2.firstChild = newFirst;
25405
25902
  }
25406
- if (nextChild == null) {
25407
- parentNode.lastChild = newLast;
25903
+ if (child == null) {
25904
+ parent2.lastChild = newLast;
25408
25905
  } else {
25409
- nextChild.previousSibling = newLast;
25906
+ child.previousSibling = newLast;
25410
25907
  }
25411
25908
  do {
25412
- newFirst.parentNode = parentNode;
25909
+ newFirst.parentNode = parent2;
25413
25910
  } while (newFirst !== newLast && (newFirst = newFirst.nextSibling));
25414
- _onUpdateChild(parentNode.ownerDocument || parentNode, parentNode);
25415
- if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
25416
- newChild.firstChild = newChild.lastChild = null;
25911
+ _onUpdateChild(parent2.ownerDocument || parent2, parent2);
25912
+ if (node.nodeType == DOCUMENT_FRAGMENT_NODE) {
25913
+ node.firstChild = node.lastChild = null;
25417
25914
  }
25418
- return newChild;
25915
+ return node;
25419
25916
  }
25420
25917
  function _appendSingleChild(parentNode, newChild) {
25421
25918
  if (newChild.parentNode) {
@@ -25449,10 +25946,12 @@ var require_dom = __commonJS({
25449
25946
  }
25450
25947
  return newChild;
25451
25948
  }
25452
- if (this.documentElement == null && newChild.nodeType == ELEMENT_NODE) {
25949
+ _insertBefore(this, newChild, refChild);
25950
+ newChild.ownerDocument = this;
25951
+ if (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {
25453
25952
  this.documentElement = newChild;
25454
25953
  }
25455
- return _insertBefore(this, newChild, refChild), newChild.ownerDocument = this, newChild;
25954
+ return newChild;
25456
25955
  },
25457
25956
  removeChild: function(oldChild) {
25458
25957
  if (this.documentElement == oldChild) {
@@ -25460,6 +25959,16 @@ var require_dom = __commonJS({
25460
25959
  }
25461
25960
  return _removeChild(this, oldChild);
25462
25961
  },
25962
+ replaceChild: function(newChild, oldChild) {
25963
+ _insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);
25964
+ newChild.ownerDocument = this;
25965
+ if (oldChild) {
25966
+ this.removeChild(oldChild);
25967
+ }
25968
+ if (isElementNode(newChild)) {
25969
+ this.documentElement = newChild;
25970
+ }
25971
+ },
25463
25972
  importNode: function(importedNode, deep) {
25464
25973
  return importNode(this, importedNode, deep);
25465
25974
  },
@@ -40027,30 +40536,30 @@ const PosApp = class {
40027
40536
  }
40028
40537
  };
40029
40538
 
40030
- const PosAppGeneric = class {
40539
+ const PosAppBrowser = class {
40031
40540
  constructor(hostRef) {
40032
40541
  index$1.registerInstance(this, hostRef);
40033
40542
  }
40034
40543
  render() {
40035
- return (index$1.h("ion-grid", null, index$1.h("ion-row", null, index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("ion-card", null, index$1.h("ion-card-header", null, index$1.h("pos-picture", null), index$1.h("ion-card-title", null, index$1.h("pos-label", null))), index$1.h("ion-card-content", null, index$1.h("pos-description", null)))), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-literals", null)), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-relations", null), index$1.h("pos-reverse-relations", null)))));
40544
+ return (index$1.h("pos-app", null, index$1.h("ion-header", null, index$1.h("ion-toolbar", null, index$1.h("ion-title", { slot: "start" }, "PodOS"), index$1.h("pos-login", null))), index$1.h("ion-content", null, index$1.h("pos-router", null)), index$1.h("ion-footer", null, index$1.h("ion-toolbar", null, index$1.h("ion-title", null, "PodOS Browser")))));
40036
40545
  }
40037
40546
  };
40038
40547
 
40039
- const PosAppRdfDocument = class {
40548
+ const PosAppGeneric = class {
40040
40549
  constructor(hostRef) {
40041
40550
  index$1.registerInstance(this, hostRef);
40042
40551
  }
40043
40552
  render() {
40044
- return (index$1.h("ion-grid", null, index$1.h("ion-row", null, index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-subjects", null)), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("ion-card", null, index$1.h("ion-card-header", null, index$1.h("ion-card-title", null, index$1.h("pos-label", null)), index$1.h("pos-literals", null)))))));
40553
+ return (index$1.h("ion-grid", null, index$1.h("ion-row", null, index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("ion-card", null, index$1.h("ion-card-header", null, index$1.h("pos-picture", null), index$1.h("ion-card-title", null, index$1.h("pos-label", null))), index$1.h("ion-card-content", null, index$1.h("pos-description", null)))), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-literals", null)), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-relations", null), index$1.h("pos-reverse-relations", null)))));
40045
40554
  }
40046
40555
  };
40047
40556
 
40048
- const PosDemoApp = class {
40557
+ const PosAppRdfDocument = class {
40049
40558
  constructor(hostRef) {
40050
40559
  index$1.registerInstance(this, hostRef);
40051
40560
  }
40052
40561
  render() {
40053
- return (index$1.h("pos-app", null, index$1.h("ion-header", null, index$1.h("ion-toolbar", null, index$1.h("ion-title", { slot: "start" }, "pod os"), index$1.h("pos-login", null))), index$1.h("ion-content", null, index$1.h("pos-router", null)), index$1.h("ion-footer", null, index$1.h("ion-toolbar", null, index$1.h("ion-title", null, "Footer")))));
40562
+ return (index$1.h("ion-grid", null, index$1.h("ion-row", null, index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("pos-subjects", null)), index$1.h("ion-col", { size: "12", "size-sm": true }, index$1.h("ion-card", null, index$1.h("ion-card-header", null, index$1.h("ion-card-title", null, index$1.h("pos-label", null)), index$1.h("pos-literals", null)))))));
40054
40563
  }
40055
40564
  };
40056
40565
 
@@ -40216,6 +40725,25 @@ const PosLogin = class {
40216
40725
  };
40217
40726
  PosLogin.style = posLoginCss;
40218
40727
 
40728
+ const PosNavigationBar = class {
40729
+ constructor(hostRef) {
40730
+ index$1.registerInstance(this, hostRef);
40731
+ this.linkEmitter = index$1.createEvent(this, "pod-os:link", 7);
40732
+ this.uri = '';
40733
+ this.value = this.uri;
40734
+ }
40735
+ onChange(event) {
40736
+ this.value = event.detail.value;
40737
+ }
40738
+ onSubmit(event) {
40739
+ event.preventDefault();
40740
+ this.linkEmitter.emit(this.value);
40741
+ }
40742
+ render() {
40743
+ return (index$1.h("form", { onSubmit: e => this.onSubmit(e) }, index$1.h("ion-searchbar", { enterkeyhint: "search", placeholder: "Enter URI", value: this.uri, onIonChange: e => this.onChange(e) })));
40744
+ }
40745
+ };
40746
+
40219
40747
  const posPictureCss = ":host{--width:300px;--height:300px;--border-radius:var(--border-radius, 0)}";
40220
40748
 
40221
40749
  const PosPicture = class {
@@ -40748,7 +41276,7 @@ const PosRouter = class {
40748
41276
  }
40749
41277
  render() {
40750
41278
  console.log('render router', this.uri);
40751
- return (index$1.h(Router.Switch, null, index$1.h(Route, { path: match('', { exact: false }) }, index$1.h("pos-resource", { key: this.uri, uri: this.uri }, index$1.h("pos-type-router", null)))));
41279
+ return (index$1.h(Router.Switch, null, index$1.h(Route, { path: match('', { exact: false }) }, index$1.h("pos-navigation-bar", { uri: this.uri }), index$1.h("pos-resource", { key: this.uri, uri: this.uri }, index$1.h("pos-type-router", null)))));
40752
41280
  }
40753
41281
  };
40754
41282
 
@@ -40816,18 +41344,20 @@ exports.ion_list = List;
40816
41344
  exports.ion_progress_bar = ProgressBar;
40817
41345
  exports.ion_ripple_effect = RippleEffect;
40818
41346
  exports.ion_row = Row;
41347
+ exports.ion_searchbar = Searchbar;
40819
41348
  exports.ion_skeleton_text = SkeletonText;
40820
41349
  exports.ion_title = ToolbarTitle;
40821
41350
  exports.ion_toolbar = Toolbar;
40822
41351
  exports.pos_app = PosApp;
41352
+ exports.pos_app_browser = PosAppBrowser;
40823
41353
  exports.pos_app_generic = PosAppGeneric;
40824
41354
  exports.pos_app_rdf_document = PosAppRdfDocument;
40825
- exports.pos_demo_app = PosDemoApp;
40826
41355
  exports.pos_description = PosDescription;
40827
41356
  exports.pos_image = PosImage;
40828
41357
  exports.pos_label = PosLabel;
40829
41358
  exports.pos_literals = PosLiterals;
40830
41359
  exports.pos_login = PosLogin;
41360
+ exports.pos_navigation_bar = PosNavigationBar;
40831
41361
  exports.pos_picture = PosPicture;
40832
41362
  exports.pos_relations = PosRelations;
40833
41363
  exports.pos_resource = PosResource;