diff --git a/.gitignore b/.gitignore index 35332200..1d9b0004 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ node_modules/ npm-debug.log storybook-static/ +.DS_Store +dist/ diff --git a/.storybook/main.js b/.storybook/main.js index cf56dd91..fbeb8252 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -1,7 +1,8 @@ /** @type { import('@storybook/preact-vite').StorybookConfig } */ -import fs from 'fs/promises'; +import fsPromise from 'fs/promises'; import { StorybookConfig } from '@storybook/preact-vite'; import path from 'path' +import markdown from '../plugins/markdown_plugin' const config = { stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], @@ -35,7 +36,7 @@ const config = { setup(build) { build.onLoad({ filter: /src\/.*\.js$/ }, async (args) => ({ loader: 'jsx', - contents: await fs.readFile(args.path, 'utf8'), + contents: await fsPromise.readFile(args.path, 'utf8'), })); }, }, @@ -43,14 +44,15 @@ const config = { }; }; + config.plugins.push(markdown()); return { ...config, resolve: { alias: [ - { find: '@hanafi', replacement: path.resolve(__dirname, 'contents/hanafi/') }, - { find: '@components', replacement: path.resolve(__dirname, 'src/components/') }, - { find: '@utils', replacement: path.resolve(__dirname, 'src/utils/') }, + { find: '@hanafi', replacement: path.resolve(__dirname, '../contents/hanafi/') }, + { find: '@components', replacement: path.resolve(__dirname, '../src/components/') }, + { find: '@utils', replacement: path.resolve(__dirname, '../src/utils/') }, { find: '@al-mabsut/muslimah', replacement: path.resolve(__dirname, '../node_modules/@al-mabsut/muslimah/dist/esm/bundle.js') } ] }, diff --git a/contents/hanafi/en/1_indetermined_ruling_on_initial_bleeding.md b/contents/hanafi/en/1_indeterminate_ruling_on_initial_bleeding.md similarity index 100% rename from contents/hanafi/en/1_indetermined_ruling_on_initial_bleeding.md rename to contents/hanafi/en/1_indeterminate_ruling_on_initial_bleeding.md diff --git a/contents/hanafi/en/2_indetermined_ruling_for_subsequent_bleedings.md b/contents/hanafi/en/2_indeterminate_ruling_for_subsequent_bleedings.md similarity index 100% rename from contents/hanafi/en/2_indetermined_ruling_for_subsequent_bleedings.md rename to contents/hanafi/en/2_indeterminate_ruling_for_subsequent_bleedings.md diff --git a/contents/hanafi/en/3_indetermined_ruling_for_present_cycle.md b/contents/hanafi/en/3_indeterminate_ruling_for_present_cycle.md similarity index 100% rename from contents/hanafi/en/3_indetermined_ruling_for_present_cycle.md rename to contents/hanafi/en/3_indeterminate_ruling_for_present_cycle.md diff --git a/dist/cjs/bundle.js b/dist/cjs/bundle.js deleted file mode 100644 index aa2fcfc4..00000000 --- a/dist/cjs/bundle.js +++ /dev/null @@ -1,43 +0,0 @@ -'use strict'; - -function styleInject(css, ref) { - if ( ref === void 0 ) ref = {}; - var insertAt = ref.insertAt; - - if (!css || typeof document === 'undefined') { return; } - - var head = document.head || document.getElementsByTagName('head')[0]; - var style = document.createElement('style'); - style.type = 'text/css'; - - if (insertAt === 'top') { - if (head.firstChild) { - head.insertBefore(style, head.firstChild); - } else { - head.appendChild(style); - } - } else { - head.appendChild(style); - } - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } -} - -var css_248z = ".index-module_styling__a2FxM {\n font-size: x-large;\n color: green;\n}\n"; -var style = {"styling":"index-module_styling__a2FxM"}; -styleInject(css_248z); - -var Muslimah = function Muslimah(_ref) { - var children = _ref.children; - return h("div", null, h("div", { - className: style.styling - }, "Salaam, Muslimah!"), children); -}; - -exports.Muslimah = Muslimah; - export const contentStore = {"10_ruling_most_likely_tuhr_concluding_ongoing_hayd_before_habit_completion.md":"# Ruling: Most Likely Tuhr\n\n- Based on the latest information provided by you, your Ongoing Hayd concluded before your latest Hayd habit.\n- Accordingly, on it's conclusion you were to perform a Ghusl (full ablution) to attain purity from the state of Hayd and resume your seasonal/daily worship as applies (Prayer and Ramadan etc.)\n- If the conclusion of Hayd was just before a Salaah (prayer) time while there was sufficient time for Ghusl (full ablution) and Takbeer-e-Tahreema remaining, perform Qadaa (makeup) for the missed Salaah (prayer). If not, Qadaa (makeup) is not required.\n\n## Additional Clarifications\n\n- Since your Hayd ended earlier than usual; there is always a chance that your Hayd could still return. A precautionary Ghusl at your Hayd habit time is advisable due to the possibility of bleeding resuming within 15 days (from the conclusion of Hayd).\n- Such resuming of bleeding may end up compromising your Salaah (prayer) until you have repeated your Ghusl again. The precautionary Ghusl is therefore adviced to avoid this from happening.\n\n## Ramadan Clarifications\n\n- If your Hayd ended during the day, then you are required to behave like a fasting person for the remainder of the day by abstaining from food, drinks and conjugal relationships.\n- If your Hayd ended during the night, such that there was enough time before Fajr for you to complete a Ghusl (full ablution) and Takbeer-e-Tahreema, then accordingly you will be required to fast that day. If no such time sufficient was remaining, then you will be considered as someone whose Hayd ended during the day and accordingly you will be required to behave like a fasting person and later on make Qadaa (makeup) of that day.\n\n## Marital Clarifications\n\n- Conjugal relationships are not yet allowed, until the Hayd habit has been reached\n- Until such time, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Conjugal relationships will remain impermissible even if the bleeding has fully stopped. (because this is still the time before the Hayd habit.)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n- Once the Hayd habit has been reached and the bleeding has not returned, then conjugal relationships are allowed again.\n","11_ruling_most_likely_tuhr_concluding_ongoing_hayd_before_10_days.md":"# Ruling: Most Likely Tuhr\n\n- Based on the latest information provided by you, your Ongoing Hayd concluded after your latest Hayd habit and did not exceed 10 days.\n- Accordingly, on it's conclusion you were to perform a Ghusl (full ablution) to attain purity from the state of Hayd and resume your seasonal/daily worship as applies (Prayer and Ramadan etc.)\n- If the conclusion of Hayd was just before a Salaah (prayer) time while there was sufficient time for Ghusl (full ablution) and Takbeer-e-Tahreema remaining, perform Qadaa (makeup) for the missed Salaah (prayer). If not, Qadaa (makeup) is not required.\n- Until a Tuhr of 15 days since the conclusion of your Hayd has not occurred, the ruling could slightly change, ensure to keep track of this.\n\n## Ramadan Clarifications\n\n- If your Hayd ended during the day, then you are required to behave like a fasting person for the remainder of the day by abstaining from food, drinks and conjugal relationships.\n- If your Hayd ended during the night, such that there was enough time before Fajr for you to complete a Ghusl (full ablution) and Takbeer-e-Tahreema, then accordingly you will be required to fast that day. If no such time sufficient was remaining, then you will be considered as someone whose Hayd ended during the day and accordingly you will be required to behave like a fasting person and later on make Qadaa (makeup) of that day.\n\n## Marital Clarifications\n\n- As long bleeding has not returned at any point in time, then conjugal relationships are allowed again.\n","12_ruling_tuhr_concluding_ongoing_bleeding_exceeding_10_days.md":"# Ruling: Tuhr\n\n## Guidance\n\n- Your Hayd lasted till your latest Hayd habit:\n - In the case you took a precautionary Ghusl (full ablution) at the conclusion of your Hayd habit, as advised previously, then none of the worhsip you performed since then has been compromised.\n - If not, then each Salaah (prayer) since your Hayd habit will be invalidated until a time where you did Ghusl (full ablution)\n- Any Qadaa (makeup) Salaah (prayer) performed until your Hayd habit will be invalid and will need to be repeated.\n- Any Salaah (prayer) that was not performed between Hayd habit day and the 10th day of your Ongoing Bleeding will need to be made Qadaa (makeup) of\n\n## Additional Clarifications\n\n- Matters have consolidated as your Ongoing Bleeding exceeded 10 days\n- The meaning of Hayd habit is the latest valid duration of Hayd as recorded, that we revert to in this case.\n- Accordingly, your habit was applied and the previous guidance you received has changed accordingly.\n- Kindly consult a scholar about the precautionary Ghusl (full ablution) if this is a source of confusion to you.\n\n## Ramadan Clarifications\n\n- On account of reverting back to your latest habit:\n - Any Qadaa (makeup) fasting performed until your Hayd habit will be invalid and will need to be repeated.\n - Any fasting that was not performed between Hayd habit day and the 10th day of your Ongoing Bleeding will need to be made Qadaa (makeup) of\n\n## Marital Clarifications\n\n- Conjugal relationships are permissible\n","13_ruling_istihaadah.md":"# Ruling: Istihadah\n\n- When a bleeding is observed outside the days of Hayd/Nifaas, then such a bleeding is termed Istihaadah\n- From a religious perspective, this bleeding is to be regarded on the same level as a nose bleeding:\n - Despite this bleeding, you are still required to observe your daily prayers and fasting\n - If this bleeding is continuous, then you are to wait with praying until the bleeding subsides.\n - However, if the time of Salaah is about to expire, then one should do a Wudu and pray as normal.\n - If the bleeding continuous such that it encompasses an entire Salaah time, from beginning till the end such that in between there is not sufficient time to do Wudu and complete a prayer, then the ruling of an Excused Person (Ma’dhur) will apply to you, which you can read in more detail here: ...\n\n## Additional Clarifications\n\n- This type of bleeding can be deceiving, where physically speaking the flow can be very heavy and have all the signs of Hayd/Nifaas. However, since this bleeding occurs outside the days that Shari’iyyah regards as Hayd, this bleeding is to be ignored.\n\n## Ramadan Clarifications\n\n- This bleeding has no religious implications on fasting\n\n## Martial Clarifications\n\n- Conjugal relationships are permissible, despite the bleeding\n","1_indetermined_ruling_on_initial_bleeding.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Persist in consistently recording your discharges:\n - It is Waajib (Necessary) to log your discharges.\n - Accurate tracking is crucial for scholars to provide effective assistance.\n\n## Additional Clarifications\n\n- This pertains to your initial entries of discharge data.\n- Currently, a definitive ruling is not possible due to the lack of a verified `Tuhr` period (a purity phase lasting at least 15 days) before these discharges.\n- To secure a more accurate ruling, you have two options:\n 1. Seek guidance from scholars for advice tailored to your individual case.\n 2. Provide more detailed records of your previous menstrual cycle(s) to enable more informed guidance.\n","2_indetermined_ruling_for_subsequent_bleedings.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Continue to consistently record your discharges:\n - It is Waajib (Necessary) to log your discharges (especially in your current situation).\n - Accurate tracking is crucial for scholars to provide effective assistance.\n\n## Additional Clarifications\n\n- Based on your reported discharges, you are currently classified as experiencing continuous bleeding.\n- To determine the specific ruling applicable to your situation, additional information is needed.\n- Should further details of past discharges still leave uncertainties, it is required for you to consult with scholars for expert advice tailored to your case.\n","3_indetermined_ruling_for_present_cycle.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Kindly clarify the current status of your “Ongoing Bleeding”:\n - If the bleeding has ceased, record the exact time it stopped as a “Final Bleeding” entry.\n - If bleeding is ongoing(spotting or otherwise), log an “Ongoing Bleeding” entry for today.\n\n## Additional Clarifications\n\n- Your last recorded entry was “Ongoing Bleeding”, suggesting a continuous bleeding pattern.\n- To provide you with more accurate guidance, additional information is necessary.\n- Kindly follow the above instructions to update your records accordingly.\n","4_ruling_bleeding_most_likely_hayd.md":"# Ruling: Bleeding Most Likely Hayd\n\n## Guidance\n\n- Your latest recorded discharges may soon qualify as Hayd, although they haven't yet surpassed the 72-hour threshold.\n- Everytime the bleeding discontinues such that you are not sure if it will come back later or if it has completely stopped, it's Wajib (mandatory/necessary) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Once the minimum quota for Hayd has been met, then all the Ahkaam related to Hayd will apply. Ensure to make a proper record once your bleeding has exceeded 72 hours.\n- If bleeding stops for more than 15 days, and is shorter than 3 days, it's considered Istihaadah, requiring Qadaa (makeup) of missed Salaah (prayer) during these days you were advised not to pray by us.\n\n## Additional Clarifications\n\n- Delaying Salaah (prayer) is advised due to the potential recurrence of bleeding, making it Waajib (mandatory/necessary) to adhere to this guidance.\n- You are not yet required to do Ghusl each time your bleeding stops. You may suffice on Wudu (partial ablution) for each Salaah (prayer)\n- If bleeding resumes and meets the Hayd criterion of at least bridging 72 hours(spotting or otherwise), actions taken during this period may need review:\n - Repeat any Qadaa Salaah (prayer) and Fasting performed during this time (when possible to do so).\n - Remake any Ramadan fasting observed during this period.\n - Fard Salaah (prayer) performed, though nullified, won't require repetition.\n- Despite the possibility of bleeding not lasting over 72 hours, current evidence suggests it's likely to become Hayd. Practice based on this assumption.\n- If future information reclassifies the bleeding as Istihaadah, you'll be obligated (Waajib) to makeup for missed worship.\n- However, there's no sin in missing worship when acting on the best available evidence.\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","5_ruling_of_ongoing_hayd_till_habit.md":"# Ruling: Ongoing Hayd\n\n## Guidance\n\n- When unsure if bleeding has fully ceased or will resume, it's Mustahabb (recommended) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Each time your bleeding stops, before engaging in any act of worship such as prayer, Quran, fasting etc. you are required to do Ghusl (full ablution)\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Conjugal relationships will remain impermissible even if the bleeding has fully stopped. (because this is still the time before the Hayd habit.)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","6_ruling_of_ongoing_hayd_till_10_days.md":"# Ruling: Ongoing Hayd\n\n## Guidance\n\n- When unsure if bleeding has fully ceased or will resume, it's Mustahabb (recommended) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Each time your bleeding stops, before engaging in any act of worship such as prayer, Quran, fasting etc. you are required to do Ghusl (full ablution)\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Whenever the bleeding has ended, then conjugal relationships are allowed provided the wife has taken Ghusl (full ablution)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","7_ruling_of_hayd.md":"# Ruling: Hayd\n\n## Guidance\n\n- Fard (obligatory) prayers performed during this period are nullified and do not require makeup (Qadaa).\n- Qadaa (makeup) prayers completed during this time are nullified and must be repeated.\n\n## Additional Clarifications\n\n- The ruling of `Hayd` is different from the ruling of `Bleeding Most Likely Hayd` in the sense that for `Hayd` a sufficient amount of history is available to be 100% decisive in extending this ruling. `Bleeding Most Likely Hayd` on the other hand is too recent and has\nstill potential for changing depending on how your subsequent days evolve.\n\n## Ramadan Clarifications\n\n- Fasting during these days is nullified and must be made Qadaa of (makeup) later.\n\n## Marital Clarifications\n\n- Conjugal relations are strictly forbidden during this period.\n- Divorces initiated by the husband, though prohibited, will still be effective with all associated consequences.\n","8_ruling_bleeding_most_likely_istihaadah.md":"# Ruling: Bleeding Most Likely Istihadah\n\n## Guidance\n\n- Bleeding in this period is likely not Hayd and should be treated under the ruling of Istihadah (dysfunctional bleeding), as such:\n - You are to disregard any bleeding (regardless of its volume/color) and continue your regular worship practices:\n - Five daily Salaah (prayer).\n - Fasting during Ramadan.\n - Reciting Quran.\n - Performing Tawaaf in Hajj/’Umrah.\n- Renew Wudu (partial ablution) whenever bleeding/spotting occurs. If this happens during Salaah, the prayer breaks and must be restarted.\n- If bleeding frequency prevents completion of Salaah (prayer), follow the guidelines for an Excused Person (Ma’dhoor).\n\n## Additional Clarifications\n\n- Though currently classified as Istihadah (dysfunctional bleeding), future developments might reclassify it as Hayd, affecting worship practices. When this happens, then for all the days marked as Hayd:\n - Repeat any Qadaa (makeup) Salaah (prayer) performed.\n - Fard (obligatory) Salaah (prayer), though nullified, need not be repeated.\n - Any fasting performed will be nullified. As such you are to repeat Ramadan fasts and any Qadaa (makeup) fasts.\n - Any optional and Sunnah Salaah (prayer)/Fasting performed, when it was nullified after commencing it in a state of Tuhr (purity) is to be made Qadaa of (makeup). If they were commenced not in a state of Tuhr (purity) then any such optional / Sunnah worship does not require Qadaa (makeup).\n\n## Marital Clarifications\n\n- Your husband will be allowed to engage in conjugal relationships with you in this time\n","9_ruling_of_tuhr.md":"# Ruling: Tuhr\n\n## Guidance\n\n- These are the days in which you are able to attain ritual purity (through Wudu/Ghusl) that enables you to perform your religious observances, such as:\n - Prayer\n - Fasting (Ramadan as well as optional fasting)\n - Quran Recitation\n - Tawaaf around the Kabah\n\n## Additional Clarifications\n\n- Tuhr in Arabic means purity\n- They are those days in which a woman is not undergoing Hayd or Nifaas and is to observe all seasonal/daily religious observances.\n\n## Marital Clarifications\n\n- Conjugal relationships are permissible\n"}; -//# sourceMappingURL=bundle.js.map diff --git a/dist/cjs/bundle.js.map b/dist/cjs/bundle.js.map deleted file mode 100644 index d3eba18c..00000000 --- a/dist/cjs/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/Muslimah/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import style from './index.module.css';\n\nexport const Muslimah = ({ children }) => (\n
\n
Salaam, Muslimah!
\n {children}\n
\n);\n"],"names":["Muslimah","_ref","children","h","className","style","styling"],"mappings":";;AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;ICvBaA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAAA,OACjCC,CAAA,cACEA,CAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAEC,KAAK,CAACC,OAAAA;AAAQ,GAAA,EAAC,mBAAsB,CAAC,EACrDJ,QACE,CAAC,CAAA;AAAA;;;;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/dist/esm/bundle.js b/dist/esm/bundle.js deleted file mode 100644 index a1e43df8..00000000 --- a/dist/esm/bundle.js +++ /dev/null @@ -1,41 +0,0 @@ -function styleInject(css, ref) { - if ( ref === void 0 ) ref = {}; - var insertAt = ref.insertAt; - - if (!css || typeof document === 'undefined') { return; } - - var head = document.head || document.getElementsByTagName('head')[0]; - var style = document.createElement('style'); - style.type = 'text/css'; - - if (insertAt === 'top') { - if (head.firstChild) { - head.insertBefore(style, head.firstChild); - } else { - head.appendChild(style); - } - } else { - head.appendChild(style); - } - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } -} - -var css_248z = ".index-module_styling__a2FxM {\n font-size: x-large;\n color: green;\n}\n"; -var style = {"styling":"index-module_styling__a2FxM"}; -styleInject(css_248z); - -var Muslimah = function Muslimah(_ref) { - var children = _ref.children; - return h("div", null, h("div", { - className: style.styling - }, "Salaam, Muslimah!"), children); -}; - -export { Muslimah }; - export const contentStore = {"10_ruling_most_likely_tuhr_concluding_ongoing_hayd_before_habit_completion.md":"# Ruling: Most Likely Tuhr\n\n- Based on the latest information provided by you, your Ongoing Hayd concluded before your latest Hayd habit.\n- Accordingly, on it's conclusion you were to perform a Ghusl (full ablution) to attain purity from the state of Hayd and resume your seasonal/daily worship as applies (Prayer and Ramadan etc.)\n- If the conclusion of Hayd was just before a Salaah (prayer) time while there was sufficient time for Ghusl (full ablution) and Takbeer-e-Tahreema remaining, perform Qadaa (makeup) for the missed Salaah (prayer). If not, Qadaa (makeup) is not required.\n\n## Additional Clarifications\n\n- Since your Hayd ended earlier than usual; there is always a chance that your Hayd could still return. A precautionary Ghusl at your Hayd habit time is advisable due to the possibility of bleeding resuming within 15 days (from the conclusion of Hayd).\n- Such resuming of bleeding may end up compromising your Salaah (prayer) until you have repeated your Ghusl again. The precautionary Ghusl is therefore adviced to avoid this from happening.\n\n## Ramadan Clarifications\n\n- If your Hayd ended during the day, then you are required to behave like a fasting person for the remainder of the day by abstaining from food, drinks and conjugal relationships.\n- If your Hayd ended during the night, such that there was enough time before Fajr for you to complete a Ghusl (full ablution) and Takbeer-e-Tahreema, then accordingly you will be required to fast that day. If no such time sufficient was remaining, then you will be considered as someone whose Hayd ended during the day and accordingly you will be required to behave like a fasting person and later on make Qadaa (makeup) of that day.\n\n## Marital Clarifications\n\n- Conjugal relationships are not yet allowed, until the Hayd habit has been reached\n- Until such time, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Conjugal relationships will remain impermissible even if the bleeding has fully stopped. (because this is still the time before the Hayd habit.)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n- Once the Hayd habit has been reached and the bleeding has not returned, then conjugal relationships are allowed again.\n","11_ruling_most_likely_tuhr_concluding_ongoing_hayd_before_10_days.md":"# Ruling: Most Likely Tuhr\n\n- Based on the latest information provided by you, your Ongoing Hayd concluded after your latest Hayd habit and did not exceed 10 days.\n- Accordingly, on it's conclusion you were to perform a Ghusl (full ablution) to attain purity from the state of Hayd and resume your seasonal/daily worship as applies (Prayer and Ramadan etc.)\n- If the conclusion of Hayd was just before a Salaah (prayer) time while there was sufficient time for Ghusl (full ablution) and Takbeer-e-Tahreema remaining, perform Qadaa (makeup) for the missed Salaah (prayer). If not, Qadaa (makeup) is not required.\n- Until a Tuhr of 15 days since the conclusion of your Hayd has not occurred, the ruling could slightly change, ensure to keep track of this.\n\n## Ramadan Clarifications\n\n- If your Hayd ended during the day, then you are required to behave like a fasting person for the remainder of the day by abstaining from food, drinks and conjugal relationships.\n- If your Hayd ended during the night, such that there was enough time before Fajr for you to complete a Ghusl (full ablution) and Takbeer-e-Tahreema, then accordingly you will be required to fast that day. If no such time sufficient was remaining, then you will be considered as someone whose Hayd ended during the day and accordingly you will be required to behave like a fasting person and later on make Qadaa (makeup) of that day.\n\n## Marital Clarifications\n\n- As long bleeding has not returned at any point in time, then conjugal relationships are allowed again.\n","12_ruling_tuhr_concluding_ongoing_bleeding_exceeding_10_days.md":"# Ruling: Tuhr\n\n## Guidance\n\n- Your Hayd lasted till your latest Hayd habit:\n - In the case you took a precautionary Ghusl (full ablution) at the conclusion of your Hayd habit, as advised previously, then none of the worhsip you performed since then has been compromised.\n - If not, then each Salaah (prayer) since your Hayd habit will be invalidated until a time where you did Ghusl (full ablution)\n- Any Qadaa (makeup) Salaah (prayer) performed until your Hayd habit will be invalid and will need to be repeated.\n- Any Salaah (prayer) that was not performed between Hayd habit day and the 10th day of your Ongoing Bleeding will need to be made Qadaa (makeup) of\n\n## Additional Clarifications\n\n- Matters have consolidated as your Ongoing Bleeding exceeded 10 days\n- The meaning of Hayd habit is the latest valid duration of Hayd as recorded, that we revert to in this case.\n- Accordingly, your habit was applied and the previous guidance you received has changed accordingly.\n- Kindly consult a scholar about the precautionary Ghusl (full ablution) if this is a source of confusion to you.\n\n## Ramadan Clarifications\n\n- On account of reverting back to your latest habit:\n - Any Qadaa (makeup) fasting performed until your Hayd habit will be invalid and will need to be repeated.\n - Any fasting that was not performed between Hayd habit day and the 10th day of your Ongoing Bleeding will need to be made Qadaa (makeup) of\n\n## Marital Clarifications\n\n- Conjugal relationships are permissible\n","13_ruling_istihaadah.md":"# Ruling: Istihadah\n\n- When a bleeding is observed outside the days of Hayd/Nifaas, then such a bleeding is termed Istihaadah\n- From a religious perspective, this bleeding is to be regarded on the same level as a nose bleeding:\n - Despite this bleeding, you are still required to observe your daily prayers and fasting\n - If this bleeding is continuous, then you are to wait with praying until the bleeding subsides.\n - However, if the time of Salaah is about to expire, then one should do a Wudu and pray as normal.\n - If the bleeding continuous such that it encompasses an entire Salaah time, from beginning till the end such that in between there is not sufficient time to do Wudu and complete a prayer, then the ruling of an Excused Person (Ma’dhur) will apply to you, which you can read in more detail here: ...\n\n## Additional Clarifications\n\n- This type of bleeding can be deceiving, where physically speaking the flow can be very heavy and have all the signs of Hayd/Nifaas. However, since this bleeding occurs outside the days that Shari’iyyah regards as Hayd, this bleeding is to be ignored.\n\n## Ramadan Clarifications\n\n- This bleeding has no religious implications on fasting\n\n## Martial Clarifications\n\n- Conjugal relationships are permissible, despite the bleeding\n","1_indetermined_ruling_on_initial_bleeding.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Persist in consistently recording your discharges:\n - It is Waajib (Necessary) to log your discharges.\n - Accurate tracking is crucial for scholars to provide effective assistance.\n\n## Additional Clarifications\n\n- This pertains to your initial entries of discharge data.\n- Currently, a definitive ruling is not possible due to the lack of a verified `Tuhr` period (a purity phase lasting at least 15 days) before these discharges.\n- To secure a more accurate ruling, you have two options:\n 1. Seek guidance from scholars for advice tailored to your individual case.\n 2. Provide more detailed records of your previous menstrual cycle(s) to enable more informed guidance.\n","2_indetermined_ruling_for_subsequent_bleedings.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Continue to consistently record your discharges:\n - It is Waajib (Necessary) to log your discharges (especially in your current situation).\n - Accurate tracking is crucial for scholars to provide effective assistance.\n\n## Additional Clarifications\n\n- Based on your reported discharges, you are currently classified as experiencing continuous bleeding.\n- To determine the specific ruling applicable to your situation, additional information is needed.\n- Should further details of past discharges still leave uncertainties, it is required for you to consult with scholars for expert advice tailored to your case.\n","3_indetermined_ruling_for_present_cycle.md":"# Ruling: Indeterminate\n\n## Guidance\n\n- Kindly clarify the current status of your “Ongoing Bleeding”:\n - If the bleeding has ceased, record the exact time it stopped as a “Final Bleeding” entry.\n - If bleeding is ongoing(spotting or otherwise), log an “Ongoing Bleeding” entry for today.\n\n## Additional Clarifications\n\n- Your last recorded entry was “Ongoing Bleeding”, suggesting a continuous bleeding pattern.\n- To provide you with more accurate guidance, additional information is necessary.\n- Kindly follow the above instructions to update your records accordingly.\n","4_ruling_bleeding_most_likely_hayd.md":"# Ruling: Bleeding Most Likely Hayd\n\n## Guidance\n\n- Your latest recorded discharges may soon qualify as Hayd, although they haven't yet surpassed the 72-hour threshold.\n- Everytime the bleeding discontinues such that you are not sure if it will come back later or if it has completely stopped, it's Wajib (mandatory/necessary) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Once the minimum quota for Hayd has been met, then all the Ahkaam related to Hayd will apply. Ensure to make a proper record once your bleeding has exceeded 72 hours.\n- If bleeding stops for more than 15 days, and is shorter than 3 days, it's considered Istihaadah, requiring Qadaa (makeup) of missed Salaah (prayer) during these days you were advised not to pray by us.\n\n## Additional Clarifications\n\n- Delaying Salaah (prayer) is advised due to the potential recurrence of bleeding, making it Waajib (mandatory/necessary) to adhere to this guidance.\n- You are not yet required to do Ghusl each time your bleeding stops. You may suffice on Wudu (partial ablution) for each Salaah (prayer)\n- If bleeding resumes and meets the Hayd criterion of at least bridging 72 hours(spotting or otherwise), actions taken during this period may need review:\n - Repeat any Qadaa Salaah (prayer) and Fasting performed during this time (when possible to do so).\n - Remake any Ramadan fasting observed during this period.\n - Fard Salaah (prayer) performed, though nullified, won't require repetition.\n- Despite the possibility of bleeding not lasting over 72 hours, current evidence suggests it's likely to become Hayd. Practice based on this assumption.\n- If future information reclassifies the bleeding as Istihaadah, you'll be obligated (Waajib) to makeup for missed worship.\n- However, there's no sin in missing worship when acting on the best available evidence.\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","5_ruling_of_ongoing_hayd_till_habit.md":"# Ruling: Ongoing Hayd\n\n## Guidance\n\n- When unsure if bleeding has fully ceased or will resume, it's Mustahabb (recommended) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Each time your bleeding stops, before engaging in any act of worship such as prayer, Quran, fasting etc. you are required to do Ghusl (full ablution)\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Conjugal relationships will remain impermissible even if the bleeding has fully stopped. (because this is still the time before the Hayd habit.)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","6_ruling_of_ongoing_hayd_till_10_days.md":"# Ruling: Ongoing Hayd\n\n## Guidance\n\n- When unsure if bleeding has fully ceased or will resume, it's Mustahabb (recommended) to complete your Salaah (prayer) at the latest permissible times:\n - For Fajr and Dhuhur: Pray at the last possible moment.\n - For ‘Asr, Maghrib, and ‘Isha: Pray before Makrooh (disliked) time, defined as:\n - ‘Asr: About 20 minutes before sunset when the sun turns pale yellow.\n - Maghrib: When many stars are visible, but with Western horizon still red.\n - ‘Isha: At the midpoint between Maghrib and Fajr.\n- Each time your bleeding stops, before engaging in any act of worship such as prayer, Quran, fasting etc. you are required to do Ghusl (full ablution)\n\n## Ramadan Clarifications\n\n- If bleeding begins during daytime fasting, it's Waajib (mandatory/necessary) to break your fast discreetly and do Qadaa (makeup) for it later.\n- Bleeding that starts and persists overnight until Fajr exempts you from fasting that day, but you must do Qadaa (makeup) for it subsequently.\n- Should bleeding stop during the day, continue to observe fast-like behavior (abstaining from food, drink, and conjugal relations), though making up the fast later is still required.\n- If bleeding ceases at night, leaving enough time for Ghusl and Takbeer-e-Tahreema before Fajr, fast the oncoming day. If not, behave as fasting but do Qadaa (makeup) for it later.\n\n## Marital Clarifications\n\n- During this period, specific physical boundaries are set for the husband:\n - Direct contact with or viewing the wife's skin between the navel and knee is strictly prohibited.\n - Engaging in any sexual activity that stimulates the wife's vagina is forbidden, including conjugal relations and other forms of stimulation, such as masturbation.\n- However, within these limits, the husband may:\n - Rest his head on the wife's clothed lap.\n - Kiss any other part of the wife's body, including mouth-to-mouth kissing.\n - Engage in physical contact like fondling breasts.\n - Have non-penetrative physical contact with any of his body parts while ensuring no vaginal stimulation occurs.\n- Husband and wife will continue to interact with each other in day-to-day matters such as eating together, sleeping in the same bed etc.\n- Whenever the bleeding has ended, then conjugal relationships are allowed provided the wife has taken Ghusl (full ablution)\n- Divorce during this time is impermissible, but if issued, it will be valid and carry its full implications.\n","7_ruling_of_hayd.md":"# Ruling: Hayd\n\n## Guidance\n\n- Fard (obligatory) prayers performed during this period are nullified and do not require makeup (Qadaa).\n- Qadaa (makeup) prayers completed during this time are nullified and must be repeated.\n\n## Additional Clarifications\n\n- The ruling of `Hayd` is different from the ruling of `Bleeding Most Likely Hayd` in the sense that for `Hayd` a sufficient amount of history is available to be 100% decisive in extending this ruling. `Bleeding Most Likely Hayd` on the other hand is too recent and has\nstill potential for changing depending on how your subsequent days evolve.\n\n## Ramadan Clarifications\n\n- Fasting during these days is nullified and must be made Qadaa of (makeup) later.\n\n## Marital Clarifications\n\n- Conjugal relations are strictly forbidden during this period.\n- Divorces initiated by the husband, though prohibited, will still be effective with all associated consequences.\n","8_ruling_bleeding_most_likely_istihaadah.md":"# Ruling: Bleeding Most Likely Istihadah\n\n## Guidance\n\n- Bleeding in this period is likely not Hayd and should be treated under the ruling of Istihadah (dysfunctional bleeding), as such:\n - You are to disregard any bleeding (regardless of its volume/color) and continue your regular worship practices:\n - Five daily Salaah (prayer).\n - Fasting during Ramadan.\n - Reciting Quran.\n - Performing Tawaaf in Hajj/’Umrah.\n- Renew Wudu (partial ablution) whenever bleeding/spotting occurs. If this happens during Salaah, the prayer breaks and must be restarted.\n- If bleeding frequency prevents completion of Salaah (prayer), follow the guidelines for an Excused Person (Ma’dhoor).\n\n## Additional Clarifications\n\n- Though currently classified as Istihadah (dysfunctional bleeding), future developments might reclassify it as Hayd, affecting worship practices. When this happens, then for all the days marked as Hayd:\n - Repeat any Qadaa (makeup) Salaah (prayer) performed.\n - Fard (obligatory) Salaah (prayer), though nullified, need not be repeated.\n - Any fasting performed will be nullified. As such you are to repeat Ramadan fasts and any Qadaa (makeup) fasts.\n - Any optional and Sunnah Salaah (prayer)/Fasting performed, when it was nullified after commencing it in a state of Tuhr (purity) is to be made Qadaa of (makeup). If they were commenced not in a state of Tuhr (purity) then any such optional / Sunnah worship does not require Qadaa (makeup).\n\n## Marital Clarifications\n\n- Your husband will be allowed to engage in conjugal relationships with you in this time\n","9_ruling_of_tuhr.md":"# Ruling: Tuhr\n\n## Guidance\n\n- These are the days in which you are able to attain ritual purity (through Wudu/Ghusl) that enables you to perform your religious observances, such as:\n - Prayer\n - Fasting (Ramadan as well as optional fasting)\n - Quran Recitation\n - Tawaaf around the Kabah\n\n## Additional Clarifications\n\n- Tuhr in Arabic means purity\n- They are those days in which a woman is not undergoing Hayd or Nifaas and is to observe all seasonal/daily religious observances.\n\n## Marital Clarifications\n\n- Conjugal relationships are permissible\n"}; -//# sourceMappingURL=bundle.js.map diff --git a/dist/esm/bundle.js.map b/dist/esm/bundle.js.map deleted file mode 100644 index cb21f2e8..00000000 --- a/dist/esm/bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"bundle.js","sources":["../../node_modules/style-inject/dist/style-inject.es.js","../../src/components/Muslimah/index.js"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import style from './index.module.css';\n\nexport const Muslimah = ({ children }) => (\n
\n
Salaam, Muslimah!
\n {children}\n
\n);\n"],"names":["Muslimah","_ref","children","h","className","style","styling"],"mappings":"AAAA,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;AAC/B,EAAE,KAAK,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;AACjC,EAAE,IAAI,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;AAC9B;AACA,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE,EAAE,OAAO,EAAE;AAC1D;AACA,EAAE,IAAI,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,EAAE,IAAI,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;AAC1B;AACA,EAAE,IAAI,QAAQ,KAAK,KAAK,EAAE;AAC1B,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AAChD,KAAK,MAAM;AACX,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,KAAK;AACL,GAAG,MAAM;AACT,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5B,GAAG;AACH;AACA,EAAE,IAAI,KAAK,CAAC,UAAU,EAAE;AACxB,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG,CAAC;AACnC,GAAG,MAAM;AACT,IAAI,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,GAAG;AACH;;;;;;ICvBaA,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;EAAA,OACjCC,CAAA,cACEA,CAAA,CAAA,KAAA,EAAA;IAAKC,SAAS,EAAEC,KAAK,CAACC,OAAAA;AAAQ,GAAA,EAAC,mBAAsB,CAAC,EACrDJ,QACE,CAAC,CAAA;AAAA;;;;","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/jest.config.common.js b/jest.config.common.js index 391ea4a6..757a3c10 100644 --- a/jest.config.common.js +++ b/jest.config.common.js @@ -98,7 +98,7 @@ const commonConfig = { // notifyMode: "failure-change", // A preset that is used as a base for Jest's configuration - preset: 'jest-preset-preact' + preset: 'jest-preset-preact', // Run tests from one or more projects // projects: null, @@ -178,10 +178,10 @@ const commonConfig = { // A map from regular expressions to paths to transformers // transform: null, - // transform: { - // '^.+\\.js?$': 'babel-jest', - // '\\.(jpg|jpeg|png|svg|webp|)$': './fileMock.js', - // }, + transform: { + // '^.+\\.js?$': 'babel-jest' + // '\\.(jpg|jpeg|png|svg|webp|)$': './fileMock.js' + }, // An array of regexp pattern strings that are matched against all source file paths, matched files will skip // transformation @@ -189,10 +189,10 @@ const commonConfig = { // "/node_modules/" // ], - // transformIgnorePatterns: [ - // // This is needed to solve: SyntaxError: Unexpected token 'export' - // "node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)" - // ], + transformIgnorePatterns: [ + // This is needed to solve: SyntaxError: Unexpected token 'export' + 'node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)' + ] // An array of regexp pattern strings that are matched against all modules before the module loader will automatically // return a mock for them diff --git a/package-lock.json b/package-lock.json index 0ee9c14e..a9a07861 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,15 @@ { "name": "@al-mabsut/muslimah", - "version": "0.0.0", + "version": "0.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@al-mabsut/muslimah", - "version": "0.0.0", + "version": "0.0.1", "license": "ISC", "dependencies": { - "preact": "^10.19.3", - "react-markdown": "^9.0.1" + "preact": "^10.19.3" }, "devDependencies": { "@babel/core": "^7.23.7", @@ -29,7 +28,9 @@ "@storybook/preact": "^7.6.6", "@storybook/preact-vite": "^7.6.6", "@storybook/test": "^7.6.6", + "@testing-library/preact": "^3.2.3", "babel-jest": "^29.7.0", + "babel-plugin-jsx-pragmatic": "^1.0.2", "eslint": "^8.56.0", "eslint-config-google": "^0.14.0", "eslint-plugin-compat": "^4.2.0", @@ -38,6 +39,7 @@ "fs": "^0.0.1-security", "jest": "^29.7.0", "jest-preset-preact": "^4.1.0", + "marked": "^11.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^4.9.2", @@ -7175,6 +7177,92 @@ "node": ">=8" } }, + "node_modules/@testing-library/preact": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/@testing-library/preact/-/preact-3.2.3.tgz", + "integrity": "sha512-y6Kklp1XK3f1X2fWCbujmJyzkf+1BgLYXNgAx21j9+D4CoqMTz5qC4SQufb1L6q/jxLGACzrQ90ewVOTBvHOfg==", + "dev": true, + "dependencies": { + "@testing-library/dom": "^8.11.1" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "preact": ">=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0" + } + }, + "node_modules/@testing-library/preact/node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/preact/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/preact/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/preact/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/preact/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/@testing-library/user-event": { "version": "14.3.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz", @@ -7287,14 +7375,6 @@ "@types/node": "*" } }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "dependencies": { - "@types/ms": "*" - } - }, "node_modules/@types/detect-port": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", @@ -7322,15 +7402,8 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.3.tgz", - "integrity": "sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==", - "dependencies": { - "@types/estree": "*" - } + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.21", @@ -7371,14 +7444,6 @@ "@types/node": "*" } }, - "node_modules/@types/hast": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", - "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/http-errors": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", @@ -7432,14 +7497,6 @@ "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", "dev": true }, - "node_modules/@types/mdast": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", - "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/mdx": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.10.tgz", @@ -7458,11 +7515,6 @@ "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", "dev": true }, - "node_modules/@types/ms": { - "version": "0.7.34", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", - "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" - }, "node_modules/@types/node": { "version": "20.10.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", @@ -7497,7 +7549,8 @@ "node_modules/@types/prop-types": { "version": "15.7.11", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true }, "node_modules/@types/qs": { "version": "6.9.11", @@ -7515,6 +7568,7 @@ "version": "18.2.46", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.46.tgz", "integrity": "sha512-nNCvVBcZlvX4NU1nRRNV/mFl1nNRuTuslAJglQsq+8ldXe5Xv0Wd2f7WTE3jOxhLH2BFfiZGC6GCp+kHQbgG+w==", + "dev": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -7530,7 +7584,8 @@ "node_modules/@types/scheduler": { "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true }, "node_modules/@types/semver": { "version": "7.5.6", @@ -7574,7 +7629,8 @@ "node_modules/@types/unist": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true }, "node_modules/@types/uuid": { "version": "9.0.7", @@ -7856,7 +7912,8 @@ "node_modules/@ungap/structured-clone": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/@vitest/expect": { "version": "0.34.7", @@ -8556,6 +8613,15 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/babel-plugin-jsx-pragmatic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-1.0.2.tgz", + "integrity": "sha512-+qeGXSbHZwinZzO6R3wP+6XDKup83Pgg2B3TQt2zwfDdgC7NqT9Kd3ws7iqk53zAO/8iOIRU6VUyUzt2LDE3Eg==", + "dev": true, + "dependencies": { + "babel-plugin-syntax-jsx": "^6.0.0" + } + }, "node_modules/babel-plugin-polyfill-corejs2": { "version": "0.4.7", "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", @@ -8595,6 +8661,12 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==", + "dev": true + }, "node_modules/babel-plugin-transform-hook-names": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/babel-plugin-transform-hook-names/-/babel-plugin-transform-hook-names-1.0.2.tgz", @@ -8643,15 +8715,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -8993,15 +9056,6 @@ } ] }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/chai": { "version": "4.3.10", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", @@ -9043,42 +9097,6 @@ "node": ">=10" } }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/check-error": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", @@ -9294,15 +9312,6 @@ "node": ">= 0.8" } }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -9816,7 +9825,8 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true }, "node_modules/data-urls": { "version": "3.0.2", @@ -9836,6 +9846,7 @@ "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, "dependencies": { "ms": "2.1.2" }, @@ -9854,18 +9865,6 @@ "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", "dev": true }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/dedent": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", @@ -10066,6 +10065,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, "engines": { "node": ">=6" } @@ -10130,18 +10130,6 @@ "detect-port": "bin/detect-port.js" } }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", @@ -11282,15 +11270,6 @@ "node": ">=4.0" } }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", @@ -11444,7 +11423,8 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "node_modules/extract-zip": { "version": "1.7.0", @@ -12374,58 +12354,6 @@ "node": ">= 0.4" } }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", - "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/hast-util-to-jsx-runtime/node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -12450,15 +12378,6 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/html-url-attributes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.0.tgz", - "integrity": "sha512-/sXbVCWayk6GDVg3ctOX6nxaVj7So40FcFAnWlWGNAB1LpYKcV5Cd10APjPjW80O7zYW2MsjBV4zZ7IZO5fVow==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/http-errors": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", @@ -12748,11 +12667,6 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "node_modules/inline-style-parser": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", - "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" - }, "node_modules/internal-slot": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", @@ -12800,28 +12714,6 @@ "node": ">=8" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -12967,15 +12859,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-deflate": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", @@ -13072,15 +12955,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", @@ -13175,17 +13049,6 @@ "node": ">=8" } }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -15625,7 +15488,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", @@ -16083,19 +15947,11 @@ "node": ">=8" } }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -16184,6 +16040,18 @@ "react": ">= 0.14.0" } }, + "node_modules/marked": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/marked/-/marked-11.1.1.tgz", + "integrity": "sha512-EgxRjgK9axsQuUa/oKMx5DEY8oXpKJfk61rT5iY3aRlgU6QJtUcxU5OAymdhCvWvhYcd9FKmO5eQoX8m9VGJXg==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/mdast-util-definitions": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", @@ -16197,277 +16065,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", - "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", - "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.0.0.tgz", - "integrity": "sha512-XZuPPzQNBPAlaqsTTgRrcJnyFbSOBovSadFgbFu8SnuNgm+6Bdx1K+IWoitsmj6Lq6MNtI+ytOqwN70n//NaBA==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^5.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", - "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.0.2.tgz", - "integrity": "sha512-U5I+500EOOw9e3ZrclN3Is3fRpw8c19SMyNZlZ2IS+7vLsNzb2Om11VpIVOR+/0137GhZsFEF6YiKD5+0Hr2Og==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", - "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-to-string": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", @@ -16532,427 +16129,6 @@ "node": ">= 0.6" } }, - "node_modules/micromark": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", - "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", - "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", - "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", - "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", - "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", - "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", - "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", - "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", - "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", - "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", - "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", - "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", - "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", - "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", - "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", - "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", - "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", - "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", - "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", - "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", - "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -17117,7 +16293,8 @@ "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/nanoid": { "version": "3.3.7", @@ -17846,25 +17023,6 @@ "node": ">=6" } }, - "node_modules/parse-entities": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", - "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -18073,9 +17231,9 @@ } }, "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, "funding": [ { @@ -18783,15 +17941,6 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, - "node_modules/property-information": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", - "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -19044,6 +18193,7 @@ "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -19080,75 +18230,6 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/react-markdown": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.1.tgz", - "integrity": "sha512-186Gw/vF1uRkydbsOIkcGXw7aHq0sZOCRFFjGrr7b9+nVZg4UfA4enXCaxm4fUzecU38sWfrNDitGhshuU7rdg==", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "html-url-attributes": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "unified": "^11.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=18", - "react": ">=18" - } - }, - "node_modules/react-markdown/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/react-markdown/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/react-markdown/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/react-markdown/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/react-remove-scroll": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", @@ -19501,37 +18582,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.0.0.tgz", - "integrity": "sha512-vx8x2MDMcxuE4lBmQ46zYUDfcFMmvg80WYX+UNLeG6ixjdCCLcw1lrgAukwBTuOFsS78eoAedHGn9sNM0w7TPw==", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remark-slug": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", @@ -20479,19 +19529,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -20565,14 +19602,6 @@ "integrity": "sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==", "dev": true }, - "node_modules/style-to-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", - "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", - "dependencies": { - "inline-style-parser": "0.2.2" - } - }, "node_modules/stylehacks": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", @@ -21014,24 +20043,6 @@ "node": ">=12" } }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", - "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/ts-dedent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", @@ -21285,29 +20296,6 @@ "node": ">=4" } }, - "node_modules/unified": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", - "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, "node_modules/unique-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", @@ -21330,97 +20318,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/unist-util-remove-position/node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position/node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position/node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, "node_modules/unist-util-visit": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", @@ -21668,47 +20565,10 @@ "node": ">= 0.8" } }, - "node_modules/vfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", - "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, - "node_modules/vfile/node_modules/@types/unist": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", - "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" - }, "node_modules/vite": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.10.tgz", - "integrity": "sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", + "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", "dev": true, "peer": true, "dependencies": { @@ -22585,15 +21445,6 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } } } diff --git a/package.json b/package.json index 67facb68..755a13d8 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "@al-mabsut/muslimah", - "version": "0.0.0", + "version": "0.0.1", "description": "Shari' ahkaam related to muslim women matters", - "main": "dist/cjs/index.js", - "module": "dist/esm/index.js", + "main": "dist/cjs/bundle.js", + "module": "dist/esm/bundle.js", "files": [ "dist/cjs", "dist/esm" @@ -14,6 +14,7 @@ "lint": "eslint .", "test-cjs": "jest --config jest.config.cjs.js", "test-esm": "jest --config jest.config.esm.js", + "test": "npm run test-cjs && npm run test-esm", "check-node-version": "check-node-version --print --node $(cat .tool-versions | grep 'nodejs ' | cut -d' ' -f2)", "storybook": "storybook dev -p 6006", "build-storybook": "storybook build", @@ -35,8 +36,7 @@ }, "homepage": "https://github.com/al-mabsut/muslimah#readme", "dependencies": { - "preact": "^10.19.3", - "react-markdown": "^9.0.1" + "preact": "^10.19.3" }, "devDependencies": { "@babel/core": "^7.23.7", @@ -55,7 +55,9 @@ "@storybook/preact": "^7.6.6", "@storybook/preact-vite": "^7.6.6", "@storybook/test": "^7.6.6", + "@testing-library/preact": "^3.2.3", "babel-jest": "^29.7.0", + "babel-plugin-jsx-pragmatic": "^1.0.2", "eslint": "^8.56.0", "eslint-config-google": "^0.14.0", "eslint-plugin-compat": "^4.2.0", @@ -64,6 +66,7 @@ "fs": "^0.0.1-security", "jest": "^29.7.0", "jest-preset-preact": "^4.1.0", + "marked": "^11.1.1", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^4.9.2", diff --git a/plugins/markdown_plugin.js b/plugins/markdown_plugin.js new file mode 100644 index 00000000..36b50d56 --- /dev/null +++ b/plugins/markdown_plugin.js @@ -0,0 +1,23 @@ +import path from 'path'; +import fs from 'fs'; +import { h } from 'preact'; +import { marked } from 'marked'; + +const markdownPlugin = () => ({ + name: 'our-custom-markdown-plugin', + load(id) { + if (id.endsWith('.md')) { + const filePath = path.resolve(id); + const markdown = fs.readFileSync(filePath, 'utf-8'); + + // Convert Markdown to HTML + const renderedMarkdown = marked(markdown); + + // Export the transformed content + return `export default ${JSON.stringify(renderedMarkdown)};`; + } + return null; + } +}); + +export default markdownPlugin; diff --git a/rollup.config.mjs b/rollup.config.mjs index 8e354643..4aa08ff8 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -3,36 +3,15 @@ import resolve from '@rollup/plugin-node-resolve'; import commonjs from '@rollup/plugin-commonjs'; import alias from '@rollup/plugin-alias'; import path from 'path'; -import fs from 'fs'; import { fileURLToPath } from 'url'; +import markdownContentPlugin from './plugins/markdown_plugin.js'; +import pkg from "./package.json" assert { type: 'json' }; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); import postcss from 'rollup-plugin-postcss'; -const markdownContentPlugin = () => ({ - name: 'markdown-content-plugin', - renderChunk(code) { - const contentStore = {}; - const directoryPath = path.join(__dirname, 'contents/hanafi/en'); - - const files = fs.readdirSync(directoryPath); - files.forEach(file => { - if (file.endsWith('.md')) { - const filePath = path.join(directoryPath, file); - contentStore[file] = fs.readFileSync(filePath, 'utf8'); - } - }); - - const modifiedCode = code + `\n export const contentStore = ${JSON.stringify(contentStore)};\n`; - - // Return modified code and null for sourcemap - return { code: modifiedCode, map: null }; - } -}); - - export default { input: 'src/index.js', // Main JavaScript file external: ['preact'], // Don’t bundle Preact @@ -59,7 +38,7 @@ export default { ], output: [ { - file: 'dist/cjs/bundle.js', + file: pkg.main, format: 'cjs', name: '@al-mabsut/muslimah', sourcemap: true, @@ -68,7 +47,7 @@ export default { } }, { - file: 'dist/esm/bundle.js', + file: pkg.module, format: 'esm', name: '@al-mabsut/muslimah', sourcemap: true, diff --git a/src/components/Hanafiyyah/en/Indeterminate/index.js b/src/components/Hanafiyyah/en/Indeterminate/index.js new file mode 100644 index 00000000..b293ddce --- /dev/null +++ b/src/components/Hanafiyyah/en/Indeterminate/index.js @@ -0,0 +1,34 @@ +import { h } from 'preact'; +import { Hidayah } from '@components/Hidayah'; +import initialBleeding from '@hanafi/en/1_indeterminate_ruling_on_initial_bleeding.md'; +import subseqeuentBleedings from '@hanafi/en/2_indeterminate_ruling_for_subsequent_bleedings.md'; +import presentCycle from '@hanafi/en/3_indeterminate_ruling_for_present_cycle.md'; + +export const scenarios = { + 'initial-bleeding': true, + 'subsequent-bleedings': true, + 'present-cycle': true +}; + +export const Indeterminate = ({ scenario, style }) => { + let content; + switch (scenario) { + case 'initial-bleeding': + content = initialBleeding; + break; + case 'subsequent-bleedings': + content = subseqeuentBleedings; + break; + case 'present-cycle': + content = presentCycle; + break; + default: + throw new Error('exhausted'); + } + + return ( +
+ +
+ ); +}; diff --git a/src/components/Hanafiyyah/en/Indeterminate/index.stories.js b/src/components/Hanafiyyah/en/Indeterminate/index.stories.js new file mode 100644 index 00000000..c128f2cb --- /dev/null +++ b/src/components/Hanafiyyah/en/Indeterminate/index.stories.js @@ -0,0 +1,11 @@ +import { Indeterminate } from '@components/Hanafiyyah/en/Indeterminate'; + +export default { + title: 'Indeterminate', + component: Indeterminate +}; + +const Template = (args) => (); + +export const Default = Template.bind({}); +Default.args = { scenario: 'subsequent-bleedings' }; diff --git a/src/components/Hanafiyyah/en/MostLikelyHayd/index.js b/src/components/Hanafiyyah/en/MostLikelyHayd/index.js new file mode 100644 index 00000000..c71b2e11 --- /dev/null +++ b/src/components/Hanafiyyah/en/MostLikelyHayd/index.js @@ -0,0 +1,8 @@ +import { Hidayah } from '@components/Hidayah'; +import content from '@hanafi/en/4_ruling_bleeding_most_likely_hayd.md'; + +export const MostLikelyHayd = ({ style }) => ( +
+ +
+); diff --git a/src/components/Hanafiyyah/en/MostLikelyHayd/index.stories.js b/src/components/Hanafiyyah/en/MostLikelyHayd/index.stories.js new file mode 100644 index 00000000..853d1132 --- /dev/null +++ b/src/components/Hanafiyyah/en/MostLikelyHayd/index.stories.js @@ -0,0 +1,11 @@ +import { MostLikelyHayd } from '@components/Hanafiyyah/en/MostLikelyHayd'; + +export default { + title: 'MostLikelyHayd', + component: MostLikelyHayd +}; + +const Template = (args) => (); + +export const Default = Template.bind({}); +Default.args = { }; diff --git a/src/components/Hidayah/index.js b/src/components/Hidayah/index.js new file mode 100644 index 00000000..610677a3 --- /dev/null +++ b/src/components/Hidayah/index.js @@ -0,0 +1,9 @@ +/* eslint-disable react/no-danger */ +import { h, Fragment } from 'preact'; + +export const Hidayah = ({ content, style, children }) => ( + <> +
+ {children} + +); diff --git a/src/components/Muslimah/index.js b/src/components/Muslimah/index.js deleted file mode 100644 index cf84eea0..00000000 --- a/src/components/Muslimah/index.js +++ /dev/null @@ -1,8 +0,0 @@ -import style from './index.module.css'; - -export const Muslimah = ({ children }) => ( -
-
Salaam, Muslimah!
- {children} -
-); diff --git a/src/components/Muslimah/index.module.css b/src/components/Muslimah/index.module.css deleted file mode 100644 index 386c181d..00000000 --- a/src/components/Muslimah/index.module.css +++ /dev/null @@ -1,4 +0,0 @@ -.styling { - font-size: x-large; - color: green; -} diff --git a/src/components/Muslimah/index.stories.js b/src/components/Muslimah/index.stories.js deleted file mode 100644 index 5d08abc4..00000000 --- a/src/components/Muslimah/index.stories.js +++ /dev/null @@ -1,17 +0,0 @@ -import { Muslimah } from './index'; -import { contentStore } from '@al-mabsut/muslimah'; -import Markdown from 'react-markdown'; - -// This default export determines where your story goes in the story list -export default { - title: 'Muslimah', - component: Muslimah -}; - -const content = contentStore['1_indetermined_ruling_on_initial_bleeding.md']; -const Template = (args) => ( - {content} -); - -export const Default = Template.bind({}); -// Default.args = { /* Arguments you want to pass to the component */ }; diff --git a/src/index.js b/src/index.js index 711f7d3e..918ba24d 100644 --- a/src/index.js +++ b/src/index.js @@ -1 +1,2 @@ -export { Muslimah } from '@components/Muslimah'; +export { Indeterminate } from '@components/Hanafiyyah/en/Indeterminate'; +export { MostLikelyHayd } from '@components/Hanafiyyah/en/MostLikelyHayd'; diff --git a/tests/Indeterminate.test.js b/tests/Indeterminate.test.js new file mode 100644 index 00000000..875fe710 --- /dev/null +++ b/tests/Indeterminate.test.js @@ -0,0 +1,15 @@ +const { render } = require('@testing-library/preact'); +const { Indeterminate } = require('@al-mabsut/muslimah'); + +describe('Indeterminate', () => { + it('should work as expected', () => { + expect(Indeterminate).toBeDefined(); + }); + + it('renders without crashing', () => { + const preact = require('preact'); + const component = preact.createElement(Indeterminate, { scenario: 'initial-bleeding' }); + const { container } = render(component); + expect(container).toBeTruthy(); + }); +}); diff --git a/tests/Muslimah.test.js b/tests/Muslimah.test.js deleted file mode 100644 index 0654d5f6..00000000 --- a/tests/Muslimah.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { Muslimah } from '@al-mabsut/muslimah'; -// Purpose of this test is to validate that the rollup to cjs/esm is successful. - -describe('Muslimah', () => { - it('should work as expected', () => { - expect(Muslimah).toBeDefined(); - }); -});