bonnetid-ui 0.0.0 → 0.0.1
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.
- package/dist/App.d.ts +1 -1
- package/dist/app/assets/{index-B8PCs-AY.css → index-BChLUg01.css} +1 -1
- package/dist/app/assets/index-BeH2CXvV.js +1169 -0
- package/dist/app/assets/{index.es-BE6LkVtq.js → index.es-Bwf93iys.js} +6 -6
- package/dist/app/assets/purify.es-CPrKKeqe.js +3 -0
- package/dist/app/index.html +2 -2
- package/dist/app/manifest.webmanifest +1 -1
- package/dist/app/sw.js +1 -1
- package/dist/app/workbox-9c191d2f.js +1 -0
- package/dist/components/lobby1/AnnouncementBar.d.ts +1 -1
- package/dist/components/lobby1/Carousel.d.ts +1 -1
- package/dist/components/lobby1/SmallPrayerTable.d.ts +1 -1
- package/dist/components/lobby2/PrayerBoxes.d.ts +1 -1
- package/dist/components/lobby3/Countdown.d.ts +4 -3
- package/dist/components/lobby3/LobbyTimetable.d.ts +1 -1
- package/dist/components/miscellaneous/ButtonSpin.d.ts +1 -1
- package/dist/components/miscellaneous/DownloadModal.d.ts +1 -1
- package/dist/components/miscellaneous/ErrorFallback.d.ts +2 -2
- package/dist/components/miscellaneous/Spin.d.ts +1 -1
- package/dist/components/ph1/Instruction.d.ts +1 -1
- package/dist/components/ph1/MasjidLogo.d.ts +1 -1
- package/dist/components/ph1/MasjidPrayerClock.d.ts +5 -3
- package/dist/components/ph1/PrayerClockPH1.d.ts +2 -1
- package/dist/components/ph1/TimeTablePH1.d.ts +1 -1
- package/dist/components/ph2/PrayerTimeBox.d.ts +1 -1
- package/dist/components/ph3/CountdownVisual.d.ts +4 -3
- package/dist/components/ph3/DateInfo.d.ts +1 -1
- package/dist/components/ph3/DigitalClock.d.ts +1 -1
- package/dist/components/ud/DateSelector.d.ts +1 -1
- package/dist/components/ud/Header.d.ts +2 -1
- package/dist/components/ud/HijriCalendar.d.ts +1 -1
- package/dist/components/ud/MasjidSelect.d.ts +1 -1
- package/dist/components/ud/PrayerTimetable.d.ts +1 -1
- package/dist/components/ud/Time.d.ts +1 -1
- package/dist/config/arabic-prayer-names.d.ts +3 -0
- package/dist/config/instruction-show-seconds.d.ts +1 -0
- package/dist/config/iqamah-window-duration.d.ts +1 -0
- package/dist/context/GlobalLanguageProvider.d.ts +1 -0
- package/dist/context/MosqueLanguageContext.d.ts +11 -0
- package/dist/context/ThemeContext.d.ts +1 -1
- package/dist/context/UDContext.d.ts +3 -1
- package/dist/context/UDProviderWrapper.d.ts +1 -1
- package/dist/database-services/MasjidService.d.ts +1 -1
- package/dist/database-services/PrayerTimesService.d.ts +3 -1
- package/dist/hooks/useIqamahCheck.d.ts +2 -1
- package/dist/hooks/useMasjidInfo.d.ts +2 -0
- package/dist/hooks/usePrayerTimes.d.ts +2 -1
- package/dist/hooks/usePrayerTimesUD.d.ts +4 -2
- package/dist/index.d.ts +1 -25
- package/dist/layout-components/lobby1/AnnouncementPart.d.ts +4 -3
- package/dist/layout-components/lobby1/ClockAndTime.d.ts +4 -3
- package/dist/layout-components/lobby1/TablePart.d.ts +4 -3
- package/dist/layout-components/lobby2/PrayerPart.d.ts +4 -3
- package/dist/layout-components/lobby3/TimePart.d.ts +1 -1
- package/dist/layout-components/ph1/ClockPart.d.ts +5 -3
- package/dist/layout-components/ph1/TimeTablePart.d.ts +1 -1
- package/dist/layout-components/ph2/ClockAndPrayers.d.ts +4 -3
- package/dist/layout-components/ph2/CountdownBox.d.ts +4 -3
- package/dist/layout-components/ph2/ExtraInfo.d.ts +1 -1
- package/dist/layout-components/ph2/TimeAndDate.d.ts +1 -1
- package/dist/layout-components/ph3/DigitalClockPart.d.ts +5 -4
- package/dist/layout-components/ph3/TimeTable.d.ts +1 -1
- package/dist/lib/index.css +1 -1
- package/dist/lib/manifest.webmanifest +1 -0
- package/dist/lib/my-ui-library.es.js +24208 -39
- package/dist/lib/my-ui-library.umd.js +53 -324
- package/dist/lib/registerSW.js +1 -0
- package/dist/lib/sw.js +1 -0
- package/dist/lib/workbox-9c191d2f.js +1 -0
- package/dist/pages/IqamahScreen.d.ts +1 -1
- package/dist/pages/Lobby1.d.ts +1 -1
- package/dist/pages/Lobby2.d.ts +1 -1
- package/dist/pages/Lobby3.d.ts +1 -1
- package/dist/pages/NotFound.d.ts +1 -1
- package/dist/pages/PH1.d.ts +1 -1
- package/dist/pages/PH2.d.ts +1 -1
- package/dist/pages/PH3.d.ts +4 -1
- package/dist/pages/ud/DownloadTimetable.d.ts +1 -1
- package/dist/pages/ud/Events.d.ts +1 -1
- package/dist/pages/ud/UD1.d.ts +1 -1
- package/dist/pages/ud/UD2.d.ts +1 -1
- package/dist/pages/ud/UD3.d.ts +1 -1
- package/dist/pages/ud/ViewTimetable.d.ts +1 -1
- package/dist/renderer/lobby/LobbyLayoutRenderer.d.ts +2 -1
- package/dist/renderer/lobby/LobbyRenderer.d.ts +1 -1
- package/dist/renderer/prayer-hall/PrayerHallLayoutRenderer.d.ts +2 -1
- package/dist/renderer/prayer-hall/PrayerHallRenderer.d.ts +1 -1
- package/dist/renderer/user-display/UDLayoutRenderer.d.ts +2 -1
- package/dist/renderer/user-display/UDRenderer.d.ts +1 -1
- package/dist/routes/AppRoutes.d.ts +1 -1
- package/dist/types/types.d.ts +6 -0
- package/dist/utils/CustomInput.d.ts +1 -1
- package/dist/utils/countdown.d.ts +8 -2
- package/dist/utils/idb/prayerTimesDB.d.ts +2 -1
- package/dist/utils/idb/udPrayerTimesDB.d.ts +2 -1
- package/dist/utils/prayertimeHelpers.d.ts +4 -0
- package/dist/utils/timeHelpers.d.ts +2 -0
- package/package.json +3 -1
- package/dist/app/assets/index-CQIIfC-Z.js +0 -345
- package/dist/app/assets/purify.es-B9ZVCkUG.js +0 -2
- package/dist/app/workbox-1ef09536.js +0 -1
- package/dist/lib/html2canvas.esm-dgT_1dIT.js +0 -4871
- package/dist/lib/index-BL2PYeMT.js +0 -32882
- package/dist/lib/index.es-DFW-PnlO.js +0 -6656
- package/dist/lib/purify.es-BpFm6ZGf.js +0 -553
|
@@ -0,0 +1 @@
|
|
|
1
|
+
if('serviceWorker' in navigator) {window.addEventListener('load', () => {navigator.serviceWorker.register('/sw.js', { scope: '/' })})}
|
package/dist/lib/sw.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
if(!self.define){let e,i={};const r=(r,n)=>(r=new URL(r+".js",n).href,i[r]||new Promise(i=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=i,document.head.appendChild(e)}else e=r,importScripts(r),i()}).then(()=>{let e=i[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e}));self.define=(n,a)=>{const d=e||("document"in self?document.currentScript.src:"")||location.href;if(i[d])return;let f={};const c=e=>r(e,d),s={module:{uri:d},exports:f,require:c};i[d]=Promise.all(n.map(e=>s[e]||c(e))).then(e=>(a(...e),f))}}define(["./workbox-9c191d2f"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"my-ui-library.umd.js",revision:"22e1be8a017cfc7312f487ba730dbcd0"},{url:"my-ui-library.es.js",revision:"e8e7738d6bdfc7cf71190a04140e7fe1"},{url:"index.css",revision:"65143e125f825912f3d59f9de11be0f2"},{url:"media/AD 1.png",revision:"6acb9daf1c138366c87297a4b0cc6114"},{url:"img/quran img.png",revision:"3ba37bf8818fb76e482c29ff0764281a"},{url:"img/masjid_ph2.png",revision:"5bf4c35e0c593103e429a0aa8c80ba7a"},{url:"img/masjid-select.png",revision:"a3cdbe6972fdb48acc8881642774927c"},{url:"img/IRN-logo.png",revision:"76dab13949f152d87add0e4116e2e78e"},{url:"img/ud/bg3.png",revision:"f7344dd809f5855a46d4dbeb0eafc878"},{url:"img/ud/bg2.png",revision:"97d54338c142a23be2954c5caed1be8c"},{url:"img/ud/bg1.png",revision:"53a1a1124378f681765f362aa2e45f9a"},{url:"img/light/ph1_light.png",revision:"7b2451725d2e808a14dafee11602bbcd"},{url:"img/light/masjid_ph3.png",revision:"e3af18ca44f87ba5928e0ff1ef579b08"},{url:"img/light/masjid_ph1.png",revision:"cf167c1e7456cd408904e0f0bd711ff9"},{url:"img/light/bg_ph3.png",revision:"202f520218e2536447d6c8841e42fcc5"},{url:"img/light/bg_ph1.png",revision:"01c8ad1e4f71dc48655cfab05ae0e135"},{url:"img/dark/masjid_ph3.png",revision:"adeae731b0762ecf2ea08e075682146e"},{url:"img/dark/masjid_ph1.png",revision:"a60a8886bdfef8b26e8e56e5b13480c3"},{url:"img/dark/bg_ph3.png",revision:"ae15679c2c828c07563116f73944a0b2"},{url:"img/dark/bg_ph1.png",revision:"9488d01f556572432b38fa821b809557"},{url:"manifest.webmanifest",revision:"e20112691baef2e33cfae51ad5faeb4b"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
define(["exports"],function(t){"use strict";try{self["workbox:core:7.4.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.4.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super(({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)},e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)})}addCacheListener(){self.addEventListener("message",t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map(e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})}));t.waitUntil(s),t.ports&&t.ports[0]&&s.then(()=>t.ports[0].postMessage(!0))}})}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch(async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n})),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i(({url:t})=>t.href===s.href,e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter(t=>t&&t.length>0).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.4.0"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(o,r)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise((t,e)=>{this.resolve=t,this.reject=e})}}const U=new Set;try{self["workbox:strategies:7.4.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise(t=>setTimeout(t,i)));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){for(;this.R.length;){const t=this.R.splice(0),e=(await Promise.allSettled(t)).find(t=>"rejected"===t.status);if(e)throw e.reason}}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.P(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.P();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}P(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.j=new Map,this.k=new Map,this.K=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.T||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.T=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.j.has(i)&&this.j.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.j.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.K.has(t)&&this.K.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.K.set(t,n.integrity)}if(this.j.set(i,t),this.k.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.j){const n=this.K.get(s),i=this.k.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}})}activate(t){return d(t,async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.j.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}})}getURLsToCacheKeys(){return this.j}getCachedURLs(){return[...this.j.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.j.get(e.href)}getIntegrityForCacheKey(t){return this.K.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class P extends i{constructor(t,e){super(({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some(t=>t.test(s))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}},t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super(t=>this.W(t),t),this.M=e,this.S=s}W({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some(t=>t.test(s))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter(s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t);return await Promise.all(s.map(t=>self.caches.delete(t))),s})(e).then(t=>{}))})},t.clientsClaim=function(){self.addEventListener("activate",()=>self.clients.claim())},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new P(e,t))}(e)},t.registerRoute=h});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const IqamahScreen: () => import("react
|
|
1
|
+
declare const IqamahScreen: () => import("react").JSX.Element;
|
|
2
2
|
export default IqamahScreen;
|
package/dist/pages/Lobby1.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const Lobby1: () => import("react
|
|
1
|
+
declare const Lobby1: () => import("react").JSX.Element;
|
|
2
2
|
export default Lobby1;
|
package/dist/pages/Lobby2.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const Lobby2: () => import("react
|
|
1
|
+
declare const Lobby2: () => import("react").JSX.Element;
|
|
2
2
|
export default Lobby2;
|
package/dist/pages/Lobby3.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const Lobby3: () => import("react
|
|
1
|
+
declare const Lobby3: () => import("react").JSX.Element;
|
|
2
2
|
export default Lobby3;
|
package/dist/pages/NotFound.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const NotFound: () => import("react
|
|
1
|
+
declare const NotFound: () => import("react").JSX.Element;
|
|
2
2
|
export default NotFound;
|
package/dist/pages/PH1.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const PH1: () => import("react
|
|
1
|
+
declare const PH1: () => import("react").JSX.Element;
|
|
2
2
|
export default PH1;
|
package/dist/pages/PH2.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const PH2: () => import("react
|
|
1
|
+
declare const PH2: () => import("react").JSX.Element;
|
|
2
2
|
export default PH2;
|
package/dist/pages/PH3.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import { ExtraInfoTimes, PrayerTime } from "../types/types";
|
|
2
|
+
export declare const prayerTimes: PrayerTime[];
|
|
3
|
+
export declare const extraInfo: ExtraInfoTimes[];
|
|
4
|
+
declare const PH3: () => import("react").JSX.Element;
|
|
2
5
|
export default PH3;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const DownloadTimetable: () => import("react
|
|
1
|
+
declare const DownloadTimetable: () => import("react").JSX.Element;
|
|
2
2
|
export default DownloadTimetable;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const Events: () => import("react
|
|
1
|
+
declare const Events: () => import("react").JSX.Element;
|
|
2
2
|
export default Events;
|
package/dist/pages/ud/UD1.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const UD1: () => import("react
|
|
1
|
+
declare const UD1: () => import("react").JSX.Element;
|
|
2
2
|
export default UD1;
|
package/dist/pages/ud/UD2.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const UD2: () => import("react
|
|
1
|
+
declare const UD2: () => import("react").JSX.Element;
|
|
2
2
|
export default UD2;
|
package/dist/pages/ud/UD3.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const UD3: () => import("react
|
|
1
|
+
declare const UD3: () => import("react").JSX.Element;
|
|
2
2
|
export default UD3;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const ViewTimetable: () => import("react
|
|
1
|
+
declare const ViewTimetable: () => import("react").JSX.Element;
|
|
2
2
|
export default ViewTimetable;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
export interface ComponentConfig {
|
|
2
3
|
type: string;
|
|
3
4
|
className?: string;
|
|
@@ -22,5 +23,5 @@ interface LayoutRendererProps {
|
|
|
22
23
|
config: LayoutConfig;
|
|
23
24
|
componentProps?: ComponentProps;
|
|
24
25
|
}
|
|
25
|
-
export default function LobbyLayoutRenderer({ config, componentProps }: LayoutRendererProps):
|
|
26
|
+
export default function LobbyLayoutRenderer({ config, componentProps }: LayoutRendererProps): React.JSX.Element | null;
|
|
26
27
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare function LobbyRenderer(): import("react
|
|
1
|
+
declare function LobbyRenderer(): import("react").JSX.Element;
|
|
2
2
|
export default LobbyRenderer;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
export interface ComponentConfig {
|
|
2
3
|
type: string;
|
|
3
4
|
className?: string;
|
|
@@ -29,5 +30,5 @@ interface LayoutRendererProps {
|
|
|
29
30
|
config: LayoutConfig;
|
|
30
31
|
componentProps?: ComponentProps;
|
|
31
32
|
}
|
|
32
|
-
export default function PrayerHallLayoutRenderer({ config, componentProps }: LayoutRendererProps):
|
|
33
|
+
export default function PrayerHallLayoutRenderer({ config, componentProps }: LayoutRendererProps): React.JSX.Element | null;
|
|
33
34
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare function PrayerHallRenderer(): import("react
|
|
1
|
+
declare function PrayerHallRenderer(): import("react").JSX.Element;
|
|
2
2
|
export default PrayerHallRenderer;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
1
2
|
export interface UDComponentConfig {
|
|
2
3
|
type: string;
|
|
3
4
|
className?: string;
|
|
@@ -20,4 +21,4 @@ export type ComponentProps = Record<string, any>;
|
|
|
20
21
|
export default function UDLayoutRenderer({ config, componentProps }: {
|
|
21
22
|
config: UDLayoutConfig | null;
|
|
22
23
|
componentProps?: ComponentProps;
|
|
23
|
-
}):
|
|
24
|
+
}): React.JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare function UDRenderer(): import("react
|
|
1
|
+
declare function UDRenderer(): import("react").JSX.Element;
|
|
2
2
|
export default UDRenderer;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const AppRoutes: () => import("react
|
|
1
|
+
declare const AppRoutes: () => import("react").JSX.Element;
|
|
2
2
|
export default AppRoutes;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -24,8 +24,14 @@ export type ExtraInfoTimes = {
|
|
|
24
24
|
arabic: string;
|
|
25
25
|
time: string[];
|
|
26
26
|
};
|
|
27
|
+
export type AsrInfo = {
|
|
28
|
+
one_x: string;
|
|
29
|
+
two_x: string;
|
|
30
|
+
fifty_percent: string;
|
|
31
|
+
};
|
|
27
32
|
export type Countdown = {
|
|
28
33
|
label: string;
|
|
34
|
+
iqamah: boolean;
|
|
29
35
|
hours: number;
|
|
30
36
|
minutes: number;
|
|
31
37
|
seconds: number;
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import { Countdown,
|
|
1
|
+
import { Countdown, ExtraInfoTimes } from "../types/types";
|
|
2
2
|
export declare function getTodayTime(hhmm?: string): Date | null;
|
|
3
|
-
|
|
3
|
+
type CountdownPrayer = {
|
|
4
|
+
name: string;
|
|
5
|
+
adhan?: string;
|
|
6
|
+
iqamah?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function getNextPrayerCountdown(prayerTimes: CountdownPrayer[], extraInfo: ExtraInfoTimes[]): Countdown;
|
|
9
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ExtraInfoTimes, PrayerTime } from "../../types/types";
|
|
1
|
+
import { AsrInfo, ExtraInfoTimes, PrayerTime } from "../../types/types";
|
|
2
2
|
export declare function savePrayerTimes(org_nr: string, date: string, data: {
|
|
3
3
|
prayerTimes: PrayerTime[];
|
|
4
4
|
extraInfo: ExtraInfoTimes[];
|
|
5
|
+
asrInfo: AsrInfo;
|
|
5
6
|
}): Promise<void>;
|
|
6
7
|
export declare function getPrayerTimes(org_nr: string, date: string): Promise<any>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { ExtraInfoTimes, PrayerTime, PrayerTimesUD } from "../../types/types";
|
|
1
|
+
import { AsrInfo, ExtraInfoTimes, PrayerTime, PrayerTimesUD } from "../../types/types";
|
|
2
2
|
type CacheData = {
|
|
3
3
|
prayerTimes: PrayerTime[] | PrayerTimesUD[];
|
|
4
4
|
extraInfo: ExtraInfoTimes[];
|
|
5
|
+
asrInfo: AsrInfo;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
8
|
* Save prayer times (mosque-based or location-based) to IndexedDB.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PrayerTime, PrayerTimesUD, SimplePrayerTimes } from "../types/types";
|
|
2
|
+
export declare function toSimplePrayerTimes(prayerTimes: PrayerTime[] | PrayerTimesUD[]): SimplePrayerTimes;
|
|
3
|
+
export declare function getNextPrayerIndex(prayerTimes: PrayerTime[]): number;
|
|
4
|
+
export declare const isPrayerPast: (idx: number, prayerTimes: PrayerTime[]) => boolean;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bonnetid-ui",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/lib/my-ui-library.umd.js",
|
|
7
7
|
"module": "dist/lib/my-ui-library.es.js",
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@eslint/js": "^9.9.0",
|
|
55
55
|
"@types/js-cookie": "^3.0.6",
|
|
56
|
+
"@types/node": "^25.9.3",
|
|
56
57
|
"@types/react": "^18.3.3",
|
|
57
58
|
"@types/react-dom": "^18.3.0",
|
|
58
59
|
"@vitejs/plugin-react": "^4.3.1",
|
|
@@ -63,6 +64,7 @@
|
|
|
63
64
|
"react": "^19.2.0",
|
|
64
65
|
"react-dom": "^19.2.0",
|
|
65
66
|
"react-router-dom": "^7.9.3",
|
|
67
|
+
"rollup-plugin-visualizer": "^7.0.1",
|
|
66
68
|
"typescript": "^5.5.3",
|
|
67
69
|
"typescript-eslint": "^8.0.1",
|
|
68
70
|
"vite": "^6.1.0",
|