@apia/theme 2.0.5 → 2.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/dist/ApiaThemeProvider.js.map +1 -1
  2. package/dist/base/alerts.js.map +1 -1
  3. package/dist/base/baseTheme.js.map +1 -1
  4. package/dist/base/buttons.js +1 -2
  5. package/dist/base/buttons.js.map +1 -1
  6. package/dist/base/colors/components.js +8 -8
  7. package/dist/base/colors/components.js.map +1 -1
  8. package/dist/base/colors/defaultPalette.js.map +1 -1
  9. package/dist/base/colors/index.js.map +1 -1
  10. package/dist/base/colors/schemas.js.map +1 -1
  11. package/dist/base/colors/types.js.map +1 -1
  12. package/dist/base/colors/util/applyStates.js.map +1 -1
  13. package/dist/base/colors/util/applyStatesGetColor.js.map +1 -1
  14. package/dist/base/colors/util/buildColorsObject.js.map +1 -1
  15. package/dist/base/colors/util/buildStateObject.js.map +1 -1
  16. package/dist/base/colors/util/getColorState.js.map +1 -1
  17. package/dist/base/colors/util/getColorStates.js.map +1 -1
  18. package/dist/base/colors/util/getColorsAndStatesByDefinition.js.map +1 -1
  19. package/dist/base/colors/util/getColorsAndStatesByPath.js.map +1 -1
  20. package/dist/base/colors/util/getColorsByDefinition.js.map +1 -1
  21. package/dist/base/colors/util/getColorsByPath.js.map +1 -1
  22. package/dist/base/colors/util/getOneColorState.js.map +1 -1
  23. package/dist/base/colors/util/parsePalette.js.map +1 -1
  24. package/dist/base/colors/util.js.map +1 -1
  25. package/dist/base/forms/checkbox.js +1 -2
  26. package/dist/base/forms/checkbox.js.map +1 -1
  27. package/dist/base/forms/customCheckbox.js +1 -2
  28. package/dist/base/forms/customCheckbox.js.map +1 -1
  29. package/dist/base/forms/dateInput.js +1 -2
  30. package/dist/base/forms/dateInput.js.map +1 -1
  31. package/dist/base/forms/deletableInput.js +1 -2
  32. package/dist/base/forms/deletableInput.js.map +1 -1
  33. package/dist/base/forms/iconInput.js +1 -2
  34. package/dist/base/forms/iconInput.js.map +1 -1
  35. package/dist/base/forms/index.js.map +1 -1
  36. package/dist/base/forms/input.js +1 -2
  37. package/dist/base/forms/input.js.map +1 -1
  38. package/dist/base/forms/label.js +1 -2
  39. package/dist/base/forms/label.js.map +1 -1
  40. package/dist/base/forms/radio.js +1 -2
  41. package/dist/base/forms/radio.js.map +1 -1
  42. package/dist/base/forms/select.js +1 -2
  43. package/dist/base/forms/select.js.map +1 -1
  44. package/dist/base/forms/selectMultiple.js.map +1 -1
  45. package/dist/base/forms/switch.js +1 -2
  46. package/dist/base/forms/switch.js.map +1 -1
  47. package/dist/base/forms/textarea.js +1 -2
  48. package/dist/base/forms/textarea.js.map +1 -1
  49. package/dist/base/layout/charts/index.js +58 -0
  50. package/dist/base/layout/charts/index.js.map +1 -0
  51. package/dist/base/layout/common/components/accordion.js.map +1 -1
  52. package/dist/base/layout/common/components/chat.js.map +1 -1
  53. package/dist/base/layout/common/components/index.js.map +1 -1
  54. package/dist/base/layout/common/components/pagination/common.js.map +1 -1
  55. package/dist/base/layout/common/components/pagination/datagrid.js +1 -2
  56. package/dist/base/layout/common/components/pagination/datagrid.js.map +1 -1
  57. package/dist/base/layout/common/components/pagination/index.js +3 -4
  58. package/dist/base/layout/common/components/pagination/index.js.map +1 -1
  59. package/dist/base/layout/common/components/pagination/primary.js +1 -2
  60. package/dist/base/layout/common/components/pagination/primary.js.map +1 -1
  61. package/dist/base/layout/common/components/pagination/secondary.js +1 -2
  62. package/dist/base/layout/common/components/pagination/secondary.js.map +1 -1
  63. package/dist/base/layout/common/forms/captcha.js.map +1 -1
  64. package/dist/base/layout/common/forms/index.js.map +1 -1
  65. package/dist/base/layout/common/index.js.map +1 -1
  66. package/dist/base/layout/common/modals/apiaApi.js.map +1 -1
  67. package/dist/base/layout/common/modals/buttonsBar.js +1 -2
  68. package/dist/base/layout/common/modals/buttonsBar.js.map +1 -1
  69. package/dist/base/layout/common/modals/confirm.js +1 -2
  70. package/dist/base/layout/common/modals/confirm.js.map +1 -1
  71. package/dist/base/layout/common/modals/index.js.map +1 -1
  72. package/dist/base/layout/common/modals/overlay.js +3 -0
  73. package/dist/base/layout/common/modals/overlay.js.map +1 -1
  74. package/dist/base/layout/common/tables/accordion.js.map +1 -1
  75. package/dist/base/layout/common/tables/clean.js.map +1 -1
  76. package/dist/base/layout/common/tables/getSelectionStyles.js.map +1 -1
  77. package/dist/base/layout/common/tables/index.js.map +1 -1
  78. package/dist/base/layout/common/tables/information.js.map +1 -1
  79. package/dist/base/layout/common/tables/primary.js.map +1 -1
  80. package/dist/base/layout/common/tables/print.js.map +1 -1
  81. package/dist/base/layout/common/tables/responsive.js.map +1 -1
  82. package/dist/base/layout/common/tables/secondary.js.map +1 -1
  83. package/dist/base/layout/common/tooltips/index.js.map +1 -1
  84. package/dist/base/layout/common/tooltips/primary.js.map +1 -1
  85. package/dist/base/layout/common/trees/index.js.map +1 -1
  86. package/dist/base/layout/common/trees/primary.js +1 -2
  87. package/dist/base/layout/common/trees/primary.js.map +1 -1
  88. package/dist/base/layout/index.js +2 -0
  89. package/dist/base/layout/index.js.map +1 -1
  90. package/dist/base/layout/util/collector.js.map +1 -1
  91. package/dist/base/layout/util/index.js.map +1 -1
  92. package/dist/base/rootStyles/menu.js +1 -2
  93. package/dist/base/rootStyles/menu.js.map +1 -1
  94. package/dist/base/rootStyles/rootStyles.js.map +1 -1
  95. package/dist/base/rootStyles/transitions.js.map +1 -1
  96. package/dist/base/text.js +1 -2
  97. package/dist/base/text.js.map +1 -1
  98. package/dist/markdown/builder/MarkdownBuilder.js.map +1 -1
  99. package/dist/markdown/builder/elements/MarkdownBlock.js.map +1 -1
  100. package/dist/markdown/builder/elements/dialogBox.js.map +1 -1
  101. package/dist/markdown/builder/elements/header.js.map +1 -1
  102. package/dist/markdown/builder/elements/list.js +1 -1
  103. package/dist/markdown/builder/elements/list.js.map +1 -1
  104. package/dist/markdown/builder/elements/paragraph.js.map +1 -1
  105. package/dist/markdown/builder/elements/table.js +1 -1
  106. package/dist/markdown/builder/elements/table.js.map +1 -1
  107. package/dist/markdown/builder/elements/tableOfContents.js.map +1 -1
  108. package/dist/markdown/extensions/error.js.map +1 -1
  109. package/dist/markdown/extensions/header.js.map +1 -1
  110. package/dist/markdown/extensions/index.js.map +1 -1
  111. package/dist/markdown/extensions/success.js.map +1 -1
  112. package/dist/markdown/extensions/table/index.js.map +1 -1
  113. package/dist/markdown/extensions/warning.js.map +1 -1
  114. package/dist/markdown/getRemarkable.js.map +1 -1
  115. package/dist/markdown/help.js.map +1 -1
  116. package/dist/markdown/html.js.map +1 -1
  117. package/dist/markdown/parseMarkdown.js.map +1 -1
  118. package/dist/markdown/styles.js.map +1 -1
  119. package/dist/markdown/theme/markdownTheme.js.map +1 -1
  120. package/dist/markdown/types.js.map +1 -1
  121. package/dist/methods/CustomThemeProvider.js.map +1 -1
  122. package/dist/methods/getMainTheme.js.map +1 -1
  123. package/dist/methods/injectStyles.js.map +1 -1
  124. package/dist/methods/makeStyledComponent.js.map +1 -1
  125. package/dist/methods/spacingLayout/index.js.map +1 -1
  126. package/dist/methods/useMainTheme.js.map +1 -1
  127. package/dist/util.js.map +1 -1
  128. package/jsx-runtime/dist/jsx-runtime.d.ts +3 -3
  129. package/jsx-runtime/dist/theme-ui-jsx-runtime.browser.esm.js +2 -2
  130. package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.d.ts +2 -2
  131. package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.d.ts.map +1 -1
  132. package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.dev.js +21 -21
  133. package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.js +7 -7
  134. package/jsx-runtime/dist/theme-ui-jsx-runtime.cjs.prod.js +21 -21
  135. package/jsx-runtime/dist/theme-ui-jsx-runtime.esm.js +2 -2
  136. package/jsx-runtime/dist/theme-ui-jsx-runtime.worker.esm.js +2 -2
  137. package/jsx-runtime/package.json +8 -8
  138. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sources":["../../../src/markdown/extensions/error.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\n\ntype ErrorToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'error';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !!! Esto es una advertencia !!!\n */\nexport const errorExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 2) !== 0x21 /* ! */\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^!!!(.+?)!!!/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as ErrorToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-error-back);\n border-left: 3px solid var(--color-error-border);\n color: var(--color-error-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,OAAA,CAAA;AAON,MAAM,cAA6C,GAAA;AAAA,EACxD,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,MAAM,GAAI,CAAA,UAAA,CAAW,KAAK,CAAM,KAAA,EAAA,IAChC,MAAM,GAAI,CAAA,UAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,MACpC,KAAM,CAAA,GAAA,CAAI,WAAW,KAAQ,GAAA,CAAC,MAAM,EACpC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,cAAc,CAAA,CAAA;AAEzD,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
1
+ {"version":3,"file":"error.js","sources":["../../../src/markdown/extensions/error.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\r\n\r\ntype ErrorToken = {\r\n type: string;\r\n content: string;\r\n level: number;\r\n};\r\n\r\nconst name = 'error';\r\n\r\n/**\r\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\r\n *\r\n * !!! Esto es una advertencia !!!\r\n */\r\nexport const errorExtension: IRemarkableInlineExtension = {\r\n name,\r\n parser: (state, silent) => {\r\n const start = state.pos;\r\n if (\r\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\r\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */ ||\r\n state.src.charCodeAt(start + 2) !== 0x21 /* ! */\r\n ) {\r\n return false;\r\n }\r\n\r\n const match = state.src.slice(start).match(/^!!!(.+?)!!!/);\r\n\r\n if (!match || start + match[0].length > state.posMax) {\r\n return false;\r\n }\r\n\r\n if (!silent) {\r\n state.push({\r\n type: name,\r\n content: match[1],\r\n level: state.level,\r\n });\r\n }\r\n\r\n state.pos += match[0].length;\r\n return true;\r\n },\r\n\r\n replacer: (md) => (tokens, idx) => {\r\n const token = tokens[idx] as ErrorToken;\r\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\r\n },\r\n\r\n styles: () => `.${name} {\r\n padding: var(--space-5);\r\n background-color: var(--color-error-back);\r\n border-left: 3px solid var(--color-error-border);\r\n color: var(--color-error-text);\r\n margin: 10px 0;\r\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\r\n}`,\r\n};\r\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,OAAA,CAAA;AAON,MAAM,cAA6C,GAAA;AAAA,EACxD,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,MAAM,GAAI,CAAA,UAAA,CAAW,KAAK,CAAM,KAAA,EAAA,IAChC,MAAM,GAAI,CAAA,UAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,MACpC,KAAM,CAAA,GAAA,CAAI,WAAW,KAAQ,GAAA,CAAC,MAAM,EACpC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,cAAc,CAAA,CAAA;AAEzD,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sources":["../../../src/markdown/extensions/header.ts"],"sourcesContent":["import { IRemarkableBlockExtension } from '../types';\n\nclass HeadingToken {\n _content: { level: number; text: string; id?: string };\n\n get content() {\n return JSON.stringify(this._content);\n }\n\n type = 'heading';\n\n constructor(\n content: { level: number; text: string; id?: string },\n public level: number,\n ) {\n this._content = content;\n }\n}\n\nconst name = 'heading';\n\nexport const headerExtension: IRemarkableBlockExtension = {\n name,\n parser(state, startLine, endLine, silent) {\n const line = state.getLines(startLine, startLine + 1, 0, false);\n const result = line.match(/(#+) ([^\\{\\n]+)(?:\\{: #([^\\}]+?) *\\})?/);\n if (!result) return false;\n\n const level = result[1].length;\n const text = result[2];\n const id = (result[3] ?? result[2]).replaceAll(/\\s+/g, '-');\n\n if (!silent)\n state.tokens.push(new HeadingToken({ level, text, id }, state.level));\n\n state.line += 1;\n return true;\n },\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as HeadingToken;\n const tag = `h${token._content.level}`;\n return `<${tag} ${\n token._content.id ? `id=\"${token._content.id.toLowerCase()}\"` : ''\n }>${md.renderInline(token._content.text)}</${tag}>`;\n },\n styles() {\n return '';\n },\n};\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,YAAa,CAAA;AAAA,EASjB,WAAA,CACE,SACO,KACP,EAAA;AADO,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAVT,IAAA,aAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;AAMA,IAAO,aAAA,CAAA,IAAA,EAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAML,IAAA,IAAA,CAAK,QAAW,GAAA,OAAA,CAAA;AAAA,GAClB;AAAA,EAXA,IAAI,OAAU,GAAA;AACZ,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,GACrC;AAUF,CAAA;AAEA,MAAM,IAAO,GAAA,SAAA,CAAA;AAEN,MAAM,eAA6C,GAAA;AAAA,EACxD,IAAA;AAAA,EACA,MAAO,CAAA,KAAA,EAAO,SAAW,EAAA,OAAA,EAAS,MAAQ,EAAA;AACxC,IAAA,MAAM,OAAO,KAAM,CAAA,QAAA,CAAS,WAAW,SAAY,GAAA,CAAA,EAAG,GAAG,KAAK,CAAA,CAAA;AAC9D,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,KAAA,CAAM,wCAAwC,CAAA,CAAA;AAClE,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAO,OAAA,KAAA,CAAA;AAEpB,IAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACxB,IAAM,MAAA,IAAA,GAAO,OAAO,CAAC,CAAA,CAAA;AACrB,IAAM,MAAA,EAAA,GAAA,CAAM,OAAO,CAAC,CAAA,IAAK,OAAO,CAAC,CAAA,EAAG,UAAW,CAAA,MAAA,EAAQ,GAAG,CAAA,CAAA;AAE1D,IAAA,IAAI,CAAC,MAAA;AACH,MAAM,KAAA,CAAA,MAAA,CAAO,IAAK,CAAA,IAAI,YAAa,CAAA,EAAE,KAAO,EAAA,IAAA,EAAM,EAAG,EAAA,EAAG,KAAM,CAAA,KAAK,CAAC,CAAA,CAAA;AAEtE,IAAA,KAAA,CAAM,IAAQ,IAAA,CAAA,CAAA;AACd,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EACA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,MAAM,GAAM,GAAA,CAAA,CAAA,EAAI,KAAM,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA,CAAA;AACpC,IAAO,OAAA,CAAA,CAAA,EAAI,GAAG,CACZ,CAAA,EAAA,KAAA,CAAM,SAAS,EAAK,GAAA,CAAA,IAAA,EAAO,KAAM,CAAA,QAAA,CAAS,EAAG,CAAA,WAAA,EAAa,CAAM,CAAA,CAAA,GAAA,EAClE,IAAI,EAAG,CAAA,YAAA,CAAa,MAAM,QAAS,CAAA,IAAI,CAAC,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAA,CAAA;AAAA,GAClD;AAAA,EACA,MAAS,GAAA;AACP,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AACF;;;;"}
1
+ {"version":3,"file":"header.js","sources":["../../../src/markdown/extensions/header.ts"],"sourcesContent":["import { IRemarkableBlockExtension } from '../types';\r\n\r\nclass HeadingToken {\r\n _content: { level: number; text: string; id?: string };\r\n\r\n get content() {\r\n return JSON.stringify(this._content);\r\n }\r\n\r\n type = 'heading';\r\n\r\n constructor(\r\n content: { level: number; text: string; id?: string },\r\n public level: number,\r\n ) {\r\n this._content = content;\r\n }\r\n}\r\n\r\nconst name = 'heading';\r\n\r\nexport const headerExtension: IRemarkableBlockExtension = {\r\n name,\r\n parser(state, startLine, endLine, silent) {\r\n const line = state.getLines(startLine, startLine + 1, 0, false);\r\n const result = line.match(/(#+) ([^\\{\\n]+)(?:\\{: #([^\\}]+?) *\\})?/);\r\n if (!result) return false;\r\n\r\n const level = result[1].length;\r\n const text = result[2];\r\n const id = (result[3] ?? result[2]).replaceAll(/\\s+/g, '-');\r\n\r\n if (!silent)\r\n state.tokens.push(new HeadingToken({ level, text, id }, state.level));\r\n\r\n state.line += 1;\r\n return true;\r\n },\r\n replacer: (md) => (tokens, idx) => {\r\n const token = tokens[idx] as HeadingToken;\r\n const tag = `h${token._content.level}`;\r\n return `<${tag} ${\r\n token._content.id ? `id=\"${token._content.id.toLowerCase()}\"` : ''\r\n }>${md.renderInline(token._content.text)}</${tag}>`;\r\n },\r\n styles() {\r\n return '';\r\n },\r\n};\r\n"],"names":[],"mappings":";;;;;;AAEA,MAAM,YAAa,CAAA;AAAA,EASjB,WAAA,CACE,SACO,KACP,EAAA;AADO,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AAVT,IAAA,aAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;AAMA,IAAO,aAAA,CAAA,IAAA,EAAA,MAAA,EAAA,SAAA,CAAA,CAAA;AAML,IAAA,IAAA,CAAK,QAAW,GAAA,OAAA,CAAA;AAAA,GAClB;AAAA,EAXA,IAAI,OAAU,GAAA;AACZ,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AAAA,GACrC;AAUF,CAAA;AAEA,MAAM,IAAO,GAAA,SAAA,CAAA;AAEN,MAAM,eAA6C,GAAA;AAAA,EACxD,IAAA;AAAA,EACA,MAAO,CAAA,KAAA,EAAO,SAAW,EAAA,OAAA,EAAS,MAAQ,EAAA;AACxC,IAAA,MAAM,OAAO,KAAM,CAAA,QAAA,CAAS,WAAW,SAAY,GAAA,CAAA,EAAG,GAAG,KAAK,CAAA,CAAA;AAC9D,IAAM,MAAA,MAAA,GAAS,IAAK,CAAA,KAAA,CAAM,wCAAwC,CAAA,CAAA;AAClE,IAAA,IAAI,CAAC,MAAA;AAAQ,MAAO,OAAA,KAAA,CAAA;AAEpB,IAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACxB,IAAM,MAAA,IAAA,GAAO,OAAO,CAAC,CAAA,CAAA;AACrB,IAAM,MAAA,EAAA,GAAA,CAAM,OAAO,CAAC,CAAA,IAAK,OAAO,CAAC,CAAA,EAAG,UAAW,CAAA,MAAA,EAAQ,GAAG,CAAA,CAAA;AAE1D,IAAA,IAAI,CAAC,MAAA;AACH,MAAM,KAAA,CAAA,MAAA,CAAO,IAAK,CAAA,IAAI,YAAa,CAAA,EAAE,KAAO,EAAA,IAAA,EAAM,EAAG,EAAA,EAAG,KAAM,CAAA,KAAK,CAAC,CAAA,CAAA;AAEtE,IAAA,KAAA,CAAM,IAAQ,IAAA,CAAA,CAAA;AACd,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EACA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,MAAM,GAAM,GAAA,CAAA,CAAA,EAAI,KAAM,CAAA,QAAA,CAAS,KAAK,CAAA,CAAA,CAAA;AACpC,IAAO,OAAA,CAAA,CAAA,EAAI,GAAG,CACZ,CAAA,EAAA,KAAA,CAAM,SAAS,EAAK,GAAA,CAAA,IAAA,EAAO,KAAM,CAAA,QAAA,CAAS,EAAG,CAAA,WAAA,EAAa,CAAM,CAAA,CAAA,GAAA,EAClE,IAAI,EAAG,CAAA,YAAA,CAAa,MAAM,QAAS,CAAA,IAAI,CAAC,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA,CAAA,CAAA;AAAA,GAClD;AAAA,EACA,MAAS,GAAA;AACP,IAAO,OAAA,EAAA,CAAA;AAAA,GACT;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/markdown/extensions/index.ts"],"sourcesContent":["import { errorExtension } from './error';\nimport { headerExtension } from './header';\nimport { successExtension } from './success';\nimport { TableExtension } from './table';\nimport { warningExtension } from './warning';\n\nexport const markdownExtensions = [\n headerExtension,\n errorExtension,\n successExtension,\n new TableExtension(),\n warningExtension,\n];\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,kBAAqB,GAAA;AAAA,EAChC,eAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,IAAI,cAAe,EAAA;AAAA,EACnB,gBAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/markdown/extensions/index.ts"],"sourcesContent":["import { errorExtension } from './error';\r\nimport { headerExtension } from './header';\r\nimport { successExtension } from './success';\r\nimport { TableExtension } from './table';\r\nimport { warningExtension } from './warning';\r\n\r\nexport const markdownExtensions = [\r\n headerExtension,\r\n errorExtension,\r\n successExtension,\r\n new TableExtension(),\r\n warningExtension,\r\n];\r\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,kBAAqB,GAAA;AAAA,EAChC,eAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,IAAI,cAAe,EAAA;AAAA,EACnB,gBAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"success.js","sources":["../../../src/markdown/extensions/success.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\n\ntype SuccessToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'success';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !!! Esto es una advertencia !!!\n */\nexport const successExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charAt(start + 1) !== '$' ||\n state.src.charAt(start + 1) !== '$'\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^\\$\\$(.+?)\\$\\$/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as SuccessToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-success-back);\n border-left: 3px solid var(--color-success-border);\n color: var(--color-success-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,SAAA,CAAA;AAON,MAAM,gBAA+C,GAAA;AAAA,EAC1D,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,KAAM,CAAA,GAAA,CAAI,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,KAAM,GAChC,IAAA,KAAA,CAAM,GAAI,CAAA,MAAA,CAAO,KAAQ,GAAA,CAAC,MAAM,GAChC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,gBAAgB,CAAA,CAAA;AAE3D,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
1
+ {"version":3,"file":"success.js","sources":["../../../src/markdown/extensions/success.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\r\n\r\ntype SuccessToken = {\r\n type: string;\r\n content: string;\r\n level: number;\r\n};\r\n\r\nconst name = 'success';\r\n\r\n/**\r\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\r\n *\r\n * !!! Esto es una advertencia !!!\r\n */\r\nexport const successExtension: IRemarkableInlineExtension = {\r\n name,\r\n parser: (state, silent) => {\r\n const start = state.pos;\r\n if (\r\n state.src.charAt(start + 1) !== '$' ||\r\n state.src.charAt(start + 1) !== '$'\r\n ) {\r\n return false;\r\n }\r\n\r\n const match = state.src.slice(start).match(/^\\$\\$(.+?)\\$\\$/);\r\n\r\n if (!match || start + match[0].length > state.posMax) {\r\n return false;\r\n }\r\n\r\n if (!silent) {\r\n state.push({\r\n type: name,\r\n content: match[1],\r\n level: state.level,\r\n });\r\n }\r\n\r\n state.pos += match[0].length;\r\n return true;\r\n },\r\n\r\n replacer: (md) => (tokens, idx) => {\r\n const token = tokens[idx] as SuccessToken;\r\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\r\n },\r\n\r\n styles: () => `.${name} {\r\n padding: var(--space-5);\r\n background-color: var(--color-success-back);\r\n border-left: 3px solid var(--color-success-border);\r\n color: var(--color-success-text);\r\n margin: 10px 0;\r\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\r\n}`,\r\n};\r\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,SAAA,CAAA;AAON,MAAM,gBAA+C,GAAA;AAAA,EAC1D,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,KAAM,CAAA,GAAA,CAAI,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,KAAM,GAChC,IAAA,KAAA,CAAM,GAAI,CAAA,MAAA,CAAO,KAAQ,GAAA,CAAC,MAAM,GAChC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,gBAAgB,CAAA,CAAA;AAE3D,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/markdown/extensions/table/index.ts"],"sourcesContent":["import { IRemarkableBlockExtension } from '../../types';\nimport type { Remarkable } from 'remarkable';\nimport {\n MarkdownTableDefinition,\n MarkdownTableCell,\n MarkdownTableObjectCell,\n} from './types';\nimport { CellParser } from './CellParser';\nimport { StateBlock, TagToken } from 'remarkable/lib';\n\nfunction getCell(c: MarkdownTableCell): MarkdownTableObjectCell {\n return typeof c === 'string' ? { content: c } : c;\n}\n\nclass TableToken {\n content: string;\n level = 1;\n type = name;\n constructor(\n content: MarkdownTableDefinition,\n public lines: [number, number],\n ) {\n this.content = JSON.stringify(content);\n }\n\n getTable() {\n const newTable = JSON.parse(this.content) as MarkdownTableDefinition;\n\n newTable.header = newTable.header.map((c) => getCell(c));\n newTable.rows = newTable.rows.map((row) =>\n row.map((cell) => getCell(cell)),\n );\n\n return newTable;\n }\n\n #getColumnAlignment(table: MarkdownTableDefinition, index: number) {\n let sum = 0,\n i = 0;\n for (i = 0; i < table.header.length && sum <= index; i++) {\n sum += Number.parseInt(getCell(table.header[i]).colSpan ?? '1', 10);\n }\n return getCell(table.header[i - 1]).align;\n }\n getTableString(parsers: CellParser[], md: Remarkable) {\n const table = this.getTable();\n\n const head =\n '<thead><tr>' +\n table.header\n .map((current) => {\n const cell = getCell(current);\n\n return `<th ${parsers\n .map((parser) => parser.getHtmlAttributes(current))\n .join(' ')}>${md.renderInline(cell.content)}</th>`;\n })\n .join('') +\n '</tr></thead>';\n\n const body =\n '<tbody>' +\n table.rows\n .map((row) => {\n return (\n '<tr>' +\n row\n .map((current, i) => {\n // eslint-disable-next-line no-param-reassign\n current.align = this.#getColumnAlignment(table, i);\n\n return `<td ${parsers\n .map((parser) => parser.getHtmlAttributes(current))\n .join(' ')}>${md.renderInline(current.content)}</td>`;\n })\n .join('') +\n '</tr>'\n );\n })\n .join('\\n') +\n '</tbody>';\n\n return `<table ${\n table.id ? `id=\"${table.id}\"` : ''\n }>${head}${body}</table>`;\n }\n}\n\nconst name = 'advancedTable';\n/**\n * Identifica si una línea es una fila de cabecera válida\n */\nconst headerRowRegex = /^ *(?:\\{ *#([\\w\\-]+) *\\})? *((?:\\|.+)+\\|) *$/;\n/**\n * Identifica si una línea es una fila válida\n */\nconst rowRegex = /^ *(?:\\|.+)+\\| *$/;\n/**\n * Identifica si una línea es el separador entre header y body de la tabla\n */\nconst separatorRegex = /^ *(?:\\| *:? *----* *:? *)+\\| *$/;\n/**\n * Identifica los elementos de una celda\n */\n\n/**\n * How a table looks like:\n * \n| (.class) Cell1 | Cell2 | Cell3 | **_Cell4_** | Cell5 |\n|-------|-------|:-----:|------------:|-------|\n| (.class) CellContent | | | | |\n */\n\n/**\n * Esta extensión permite implementar tablas más complejas en markdown\n */\nexport class TableExtension implements IRemarkableBlockExtension {\n #cellParsers: CellParser[] = [\n {\n /** className */\n getHtmlAttributes(cell) {\n return `${cell.className ? ` class=\"${cell.className ?? ''}\"` : ''}`;\n },\n parseCellString(content) {\n const classNameRegex = /\\(\\.([^\\)]+)\\)/;\n const className = content.match(classNameRegex)?.[1];\n\n return {\n parsedCell: { className },\n newContent: content.replace(classNameRegex, ''),\n };\n },\n },\n {\n /** rowSpan & colSpan */\n getHtmlAttributes(cell) {\n return [\n `${cell.rowSpan ? `rowspan=\"${cell.rowSpan}\"` : ''}`,\n `${cell.colSpan ? `colspan=\"${cell.colSpan}\"` : ''}`,\n ].join(' ');\n },\n parseCellString(content) {\n const rowSpanRegex = /\\(\\{rowSpan:(\\d+)\\}\\)/;\n const rowSpan = content.match(rowSpanRegex)?.[1];\n const colSpanRegex = /\\(\\{colSpan:(\\d+)\\}\\)/;\n const colSpan = content.match(colSpanRegex)?.[1];\n\n return {\n parsedCell: {\n rowSpan,\n colSpan,\n },\n newContent: content\n .replace(rowSpanRegex, '')\n .replace(colSpanRegex, ''),\n };\n },\n },\n {\n /** styles */\n getHtmlAttributes(cell) {\n const styles = [];\n\n if (cell.align) styles.push(`text-align: ${cell.align}`);\n if (cell.style) styles.push(cell.style);\n\n const style = styles.join('; ');\n\n return `${style ? ` style=\"${style}\"` : ''}`;\n },\n parseCellString(content) {\n const stylesRegex = /\\(\\{style:([^\\}]+)\\}\\)/;\n const style = content.match(stylesRegex)?.[1] ?? '';\n\n return {\n parsedCell: { style },\n newContent: content.replace(stylesRegex, ''),\n };\n },\n },\n ];\n #parseCell(content: string) {\n const cell: MarkdownTableCell = { content };\n this.#cellParsers.forEach((current) => {\n const result = current.parseCellString(cell.content);\n Object.assign(cell, result.parsedCell, { content: result.newContent });\n });\n return cell;\n }\n\n #parseHeadRow(line: string) {\n const result = line.match(headerRowRegex);\n const id = result![1] ?? '';\n const content = result![2]!;\n\n return {\n id,\n content: content\n .split(/ *\\| */)\n .slice(1, -1)\n .map((current) => {\n return this.#parseCell(current);\n }),\n };\n }\n\n #parseRow(content: string) {\n return content\n .split(/ *\\| */)\n .slice(1, -1)\n .map((current) => {\n return this.#parseCell(current);\n });\n }\n\n name = name;\n parser = (\n state: StateBlock,\n startLine: number,\n endLine: number,\n checkMode: boolean,\n ): boolean => {\n if (startLine + 1 >= endLine) {\n return false;\n }\n\n const firstLineIsHeader = !!state\n .getLines(startLine, startLine + 1, 0, false)\n .match(headerRowRegex);\n\n if (checkMode) {\n return firstLineIsHeader;\n }\n\n if (firstLineIsHeader) {\n const headLine = state.getLines(startLine, startLine + 1, 0, false);\n const separatorLine = state.getLines(\n startLine + 1,\n startLine + 2,\n 0,\n false,\n );\n\n if (!separatorLine.match(separatorRegex)) return false;\n\n try {\n const parsedHead = this.#parseHeadRow(headLine);\n\n const alignments = separatorLine.split(/ *\\| */).filter(Boolean);\n\n alignments.map((current, i) => {\n if (current.match(/: *----* *:/)) {\n parsedHead.content[i].align = 'center';\n } else if (current.match(/----* *:/)) {\n parsedHead.content[i].align = 'right';\n }\n });\n\n const rows: MarkdownTableObjectCell[][] = [];\n let i = startLine + 2;\n let line: string | null = null;\n while ((line = state.getLines(i, i + 1, 0, false))) {\n if (line.match(rowRegex)) {\n const rowCells = this.#parseRow(line);\n line = state.getLines(++i, i + 1, 0, false);\n rows.push(rowCells);\n } else {\n break;\n }\n }\n\n state.tokens.push(\n new TableToken(\n { id: parsedHead.id, header: parsedHead.content, rows },\n [startLine, startLine + 2 + rows.length],\n ),\n );\n state.line += 2 + rows.length;\n\n return true;\n } catch (e) {\n console.error(e);\n return false;\n }\n }\n\n return false;\n };\n replacer = (md: Remarkable) => (tokens: TagToken[], idx: number) => {\n return (tokens[idx] as TableToken).getTableString(this.#cellParsers, md);\n };\n styles = () => '';\n}\n"],"names":["i"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/markdown/extensions/table/index.ts"],"sourcesContent":["import { IRemarkableBlockExtension } from '../../types';\r\nimport type { Remarkable } from 'remarkable';\r\nimport {\r\n MarkdownTableDefinition,\r\n MarkdownTableCell,\r\n MarkdownTableObjectCell,\r\n} from './types';\r\nimport { CellParser } from './CellParser';\r\nimport { StateBlock, TagToken } from 'remarkable/lib';\r\n\r\nfunction getCell(c: MarkdownTableCell): MarkdownTableObjectCell {\r\n return typeof c === 'string' ? { content: c } : c;\r\n}\r\n\r\nclass TableToken {\r\n content: string;\r\n level = 1;\r\n type = name;\r\n constructor(\r\n content: MarkdownTableDefinition,\r\n public lines: [number, number],\r\n ) {\r\n this.content = JSON.stringify(content);\r\n }\r\n\r\n getTable() {\r\n const newTable = JSON.parse(this.content) as MarkdownTableDefinition;\r\n\r\n newTable.header = newTable.header.map((c) => getCell(c));\r\n newTable.rows = newTable.rows.map((row) =>\r\n row.map((cell) => getCell(cell)),\r\n );\r\n\r\n return newTable;\r\n }\r\n\r\n #getColumnAlignment(table: MarkdownTableDefinition, index: number) {\r\n let sum = 0,\r\n i = 0;\r\n for (i = 0; i < table.header.length && sum <= index; i++) {\r\n sum += Number.parseInt(getCell(table.header[i]).colSpan ?? '1', 10);\r\n }\r\n return getCell(table.header[i - 1]).align;\r\n }\r\n getTableString(parsers: CellParser[], md: Remarkable) {\r\n const table = this.getTable();\r\n\r\n const head =\r\n '<thead><tr>' +\r\n table.header\r\n .map((current) => {\r\n const cell = getCell(current);\r\n\r\n return `<th ${parsers\r\n .map((parser) => parser.getHtmlAttributes(current))\r\n .join(' ')}>${md.renderInline(cell.content)}</th>`;\r\n })\r\n .join('') +\r\n '</tr></thead>';\r\n\r\n const body =\r\n '<tbody>' +\r\n table.rows\r\n .map((row) => {\r\n return (\r\n '<tr>' +\r\n row\r\n .map((current, i) => {\r\n // eslint-disable-next-line no-param-reassign\r\n current.align = this.#getColumnAlignment(table, i);\r\n\r\n return `<td ${parsers\r\n .map((parser) => parser.getHtmlAttributes(current))\r\n .join(' ')}>${md.renderInline(current.content)}</td>`;\r\n })\r\n .join('') +\r\n '</tr>'\r\n );\r\n })\r\n .join('\\n') +\r\n '</tbody>';\r\n\r\n return `<table ${\r\n table.id ? `id=\"${table.id}\"` : ''\r\n }>${head}${body}</table>`;\r\n }\r\n}\r\n\r\nconst name = 'advancedTable';\r\n/**\r\n * Identifica si una línea es una fila de cabecera válida\r\n */\r\nconst headerRowRegex = /^ *(?:\\{ *#([\\w\\-]+) *\\})? *((?:\\|.+)+\\|) *$/;\r\n/**\r\n * Identifica si una línea es una fila válida\r\n */\r\nconst rowRegex = /^ *(?:\\|.+)+\\| *$/;\r\n/**\r\n * Identifica si una línea es el separador entre header y body de la tabla\r\n */\r\nconst separatorRegex = /^ *(?:\\| *:? *----* *:? *)+\\| *$/;\r\n/**\r\n * Identifica los elementos de una celda\r\n */\r\n\r\n/**\r\n * How a table looks like:\r\n * \r\n| (.class) Cell1 | Cell2 | Cell3 | **_Cell4_** | Cell5 |\r\n|-------|-------|:-----:|------------:|-------|\r\n| (.class) CellContent | | | | |\r\n */\r\n\r\n/**\r\n * Esta extensión permite implementar tablas más complejas en markdown\r\n */\r\nexport class TableExtension implements IRemarkableBlockExtension {\r\n #cellParsers: CellParser[] = [\r\n {\r\n /** className */\r\n getHtmlAttributes(cell) {\r\n return `${cell.className ? ` class=\"${cell.className ?? ''}\"` : ''}`;\r\n },\r\n parseCellString(content) {\r\n const classNameRegex = /\\(\\.([^\\)]+)\\)/;\r\n const className = content.match(classNameRegex)?.[1];\r\n\r\n return {\r\n parsedCell: { className },\r\n newContent: content.replace(classNameRegex, ''),\r\n };\r\n },\r\n },\r\n {\r\n /** rowSpan & colSpan */\r\n getHtmlAttributes(cell) {\r\n return [\r\n `${cell.rowSpan ? `rowspan=\"${cell.rowSpan}\"` : ''}`,\r\n `${cell.colSpan ? `colspan=\"${cell.colSpan}\"` : ''}`,\r\n ].join(' ');\r\n },\r\n parseCellString(content) {\r\n const rowSpanRegex = /\\(\\{rowSpan:(\\d+)\\}\\)/;\r\n const rowSpan = content.match(rowSpanRegex)?.[1];\r\n const colSpanRegex = /\\(\\{colSpan:(\\d+)\\}\\)/;\r\n const colSpan = content.match(colSpanRegex)?.[1];\r\n\r\n return {\r\n parsedCell: {\r\n rowSpan,\r\n colSpan,\r\n },\r\n newContent: content\r\n .replace(rowSpanRegex, '')\r\n .replace(colSpanRegex, ''),\r\n };\r\n },\r\n },\r\n {\r\n /** styles */\r\n getHtmlAttributes(cell) {\r\n const styles = [];\r\n\r\n if (cell.align) styles.push(`text-align: ${cell.align}`);\r\n if (cell.style) styles.push(cell.style);\r\n\r\n const style = styles.join('; ');\r\n\r\n return `${style ? ` style=\"${style}\"` : ''}`;\r\n },\r\n parseCellString(content) {\r\n const stylesRegex = /\\(\\{style:([^\\}]+)\\}\\)/;\r\n const style = content.match(stylesRegex)?.[1] ?? '';\r\n\r\n return {\r\n parsedCell: { style },\r\n newContent: content.replace(stylesRegex, ''),\r\n };\r\n },\r\n },\r\n ];\r\n #parseCell(content: string) {\r\n const cell: MarkdownTableCell = { content };\r\n this.#cellParsers.forEach((current) => {\r\n const result = current.parseCellString(cell.content);\r\n Object.assign(cell, result.parsedCell, { content: result.newContent });\r\n });\r\n return cell;\r\n }\r\n\r\n #parseHeadRow(line: string) {\r\n const result = line.match(headerRowRegex);\r\n const id = result![1] ?? '';\r\n const content = result![2]!;\r\n\r\n return {\r\n id,\r\n content: content\r\n .split(/ *\\| */)\r\n .slice(1, -1)\r\n .map((current) => {\r\n return this.#parseCell(current);\r\n }),\r\n };\r\n }\r\n\r\n #parseRow(content: string) {\r\n return content\r\n .split(/ *\\| */)\r\n .slice(1, -1)\r\n .map((current) => {\r\n return this.#parseCell(current);\r\n });\r\n }\r\n\r\n name = name;\r\n parser = (\r\n state: StateBlock,\r\n startLine: number,\r\n endLine: number,\r\n checkMode: boolean,\r\n ): boolean => {\r\n if (startLine + 1 >= endLine) {\r\n return false;\r\n }\r\n\r\n const firstLineIsHeader = !!state\r\n .getLines(startLine, startLine + 1, 0, false)\r\n .match(headerRowRegex);\r\n\r\n if (checkMode) {\r\n return firstLineIsHeader;\r\n }\r\n\r\n if (firstLineIsHeader) {\r\n const headLine = state.getLines(startLine, startLine + 1, 0, false);\r\n const separatorLine = state.getLines(\r\n startLine + 1,\r\n startLine + 2,\r\n 0,\r\n false,\r\n );\r\n\r\n if (!separatorLine.match(separatorRegex)) return false;\r\n\r\n try {\r\n const parsedHead = this.#parseHeadRow(headLine);\r\n\r\n const alignments = separatorLine.split(/ *\\| */).filter(Boolean);\r\n\r\n alignments.map((current, i) => {\r\n if (current.match(/: *----* *:/)) {\r\n parsedHead.content[i].align = 'center';\r\n } else if (current.match(/----* *:/)) {\r\n parsedHead.content[i].align = 'right';\r\n }\r\n });\r\n\r\n const rows: MarkdownTableObjectCell[][] = [];\r\n let i = startLine + 2;\r\n let line: string | null = null;\r\n while ((line = state.getLines(i, i + 1, 0, false))) {\r\n if (line.match(rowRegex)) {\r\n const rowCells = this.#parseRow(line);\r\n line = state.getLines(++i, i + 1, 0, false);\r\n rows.push(rowCells);\r\n } else {\r\n break;\r\n }\r\n }\r\n\r\n state.tokens.push(\r\n new TableToken(\r\n { id: parsedHead.id, header: parsedHead.content, rows },\r\n [startLine, startLine + 2 + rows.length],\r\n ),\r\n );\r\n state.line += 2 + rows.length;\r\n\r\n return true;\r\n } catch (e) {\r\n console.error(e);\r\n return false;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n replacer = (md: Remarkable) => (tokens: TagToken[], idx: number) => {\r\n return (tokens[idx] as TableToken).getTableString(this.#cellParsers, md);\r\n };\r\n styles = () => '';\r\n}\r\n"],"names":["i"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"warning.js","sources":["../../../src/markdown/extensions/warning.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\n\ntype WarningToken = {\n type: string;\n content: string;\n level: number;\n};\n\nconst name = 'warning';\n\n/**\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\n *\n * !! Esto es una advertencia !!\n */\nexport const warningExtension: IRemarkableInlineExtension = {\n name,\n parser: (state, silent) => {\n const start = state.pos;\n if (\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */\n ) {\n return false;\n }\n\n const match = state.src.slice(start).match(/^!!(.+?)!!/);\n\n if (!match || start + match[0].length > state.posMax) {\n return false;\n }\n\n if (!silent) {\n state.push({\n type: name,\n content: match[1],\n level: state.level,\n });\n }\n\n state.pos += match[0].length;\n return true;\n },\n\n replacer: (md) => (tokens, idx) => {\n const token = tokens[idx] as WarningToken;\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\n },\n\n styles: () => `.${name} {\n padding: var(--space-5);\n background-color: var(--color-warning-back);\n border-left: 3px solid var(--color-warning-border);\n color: var(--color-warning-text);\n margin: 10px 0;\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\n}`,\n};\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,SAAA,CAAA;AAON,MAAM,gBAA+C,GAAA;AAAA,EAC1D,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,KAAK,CAAM,KAAA,EAAA,IAChC,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,KAAA,GAAQ,CAAC,CAAA,KAAM,EACpC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,YAAY,CAAA,CAAA;AAEvD,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
1
+ {"version":3,"file":"warning.js","sources":["../../../src/markdown/extensions/warning.ts"],"sourcesContent":["import type { IRemarkableInlineExtension } from '../types';\r\n\r\ntype WarningToken = {\r\n type: string;\r\n content: string;\r\n level: number;\r\n};\r\n\r\nconst name = 'warning';\r\n\r\n/**\r\n * Esta extensión permite mostrar un cuadro de advertencia usando la sintaxis:\r\n *\r\n * !! Esto es una advertencia !!\r\n */\r\nexport const warningExtension: IRemarkableInlineExtension = {\r\n name,\r\n parser: (state, silent) => {\r\n const start = state.pos;\r\n if (\r\n state.src.charCodeAt(start) !== 0x21 /* ! */ ||\r\n state.src.charCodeAt(start + 1) !== 0x21 /* ! */\r\n ) {\r\n return false;\r\n }\r\n\r\n const match = state.src.slice(start).match(/^!!(.+?)!!/);\r\n\r\n if (!match || start + match[0].length > state.posMax) {\r\n return false;\r\n }\r\n\r\n if (!silent) {\r\n state.push({\r\n type: name,\r\n content: match[1],\r\n level: state.level,\r\n });\r\n }\r\n\r\n state.pos += match[0].length;\r\n return true;\r\n },\r\n\r\n replacer: (md) => (tokens, idx) => {\r\n const token = tokens[idx] as WarningToken;\r\n return `<div class=\"${name}\">${md.renderInline(token.content)}</div>`;\r\n },\r\n\r\n styles: () => `.${name} {\r\n padding: var(--space-5);\r\n background-color: var(--color-warning-back);\r\n border-left: 3px solid var(--color-warning-border);\r\n color: var(--color-warning-text);\r\n margin: 10px 0;\r\n box-shadow: 0 2px 2px rgba(0,0,0,0.2);\r\n}`,\r\n};\r\n"],"names":[],"mappings":"AAQA,MAAM,IAAO,GAAA,SAAA,CAAA;AAON,MAAM,gBAA+C,GAAA;AAAA,EAC1D,IAAA;AAAA,EACA,MAAA,EAAQ,CAAC,KAAA,EAAO,MAAW,KAAA;AACzB,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAA;AACpB,IAAA,IACE,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,KAAK,CAAM,KAAA,EAAA,IAChC,KAAM,CAAA,GAAA,CAAI,UAAW,CAAA,KAAA,GAAQ,CAAC,CAAA,KAAM,EACpC,EAAA;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,QAAQ,KAAM,CAAA,GAAA,CAAI,MAAM,KAAK,CAAA,CAAE,MAAM,YAAY,CAAA,CAAA;AAEvD,IAAI,IAAA,CAAC,SAAS,KAAQ,GAAA,KAAA,CAAM,CAAC,CAAE,CAAA,MAAA,GAAS,MAAM,MAAQ,EAAA;AACpD,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAEA,IAAA,IAAI,CAAC,MAAQ,EAAA;AACX,MAAA,KAAA,CAAM,IAAK,CAAA;AAAA,QACT,IAAM,EAAA,IAAA;AAAA,QACN,OAAA,EAAS,MAAM,CAAC,CAAA;AAAA,QAChB,OAAO,KAAM,CAAA,KAAA;AAAA,OACd,CAAA,CAAA;AAAA,KACH;AAEA,IAAM,KAAA,CAAA,GAAA,IAAO,KAAM,CAAA,CAAC,CAAE,CAAA,MAAA,CAAA;AACtB,IAAO,OAAA,IAAA,CAAA;AAAA,GACT;AAAA,EAEA,QAAU,EAAA,CAAC,EAAO,KAAA,CAAC,QAAQ,GAAQ,KAAA;AACjC,IAAM,MAAA,KAAA,GAAQ,OAAO,GAAG,CAAA,CAAA;AACxB,IAAA,OAAO,eAAe,IAAI,CAAA,EAAA,EAAK,GAAG,YAAa,CAAA,KAAA,CAAM,OAAO,CAAC,CAAA,MAAA,CAAA,CAAA;AAAA,GAC/D;AAAA,EAEA,MAAA,EAAQ,MAAM,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAQxB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getRemarkable.js","sources":["../../src/markdown/getRemarkable.ts"],"sourcesContent":["import { markdownExtensions } from \"./extensions\";\nimport {\n ErrorImporting,\n IRemarkableBlockExtension,\n IRemarkableInlineExtension,\n RemarkableExtension,\n} from \"./types\";\n\nfunction isInlineExtension(\n ext: RemarkableExtension,\n): ext is IRemarkableInlineExtension {\n return ext.parser.length === 2;\n}\n\nfunction isBlockExtension(\n ext: RemarkableExtension,\n): ext is IRemarkableBlockExtension {\n return ext.parser.length === 4;\n}\n\nexport async function getRemarkable(extensions?: RemarkableExtension[]) {\n const md = new ((await import(\"remarkable\"))?.Remarkable ?? ErrorImporting)();\n if (md instanceof ErrorImporting)\n throw new Error(\"Could not import remarkable, cannot continue\");\n\n md.block.ruler.disable([\"table\"]);\n\n [...(extensions ?? []), ...markdownExtensions].forEach((ext) => {\n if (isInlineExtension(ext))\n md.inline.ruler.before(\"text\", ext.name, ext.parser, {});\n else if (isBlockExtension(ext))\n md.block.ruler.before(\"code\", ext.name, ext.parser, {});\n md.renderer.rules[ext.name] = ext.replacer(md);\n });\n\n return md;\n}\n"],"names":[],"mappings":";;;AAQA,SAAS,kBACP,GACmC,EAAA;AACnC,EAAO,OAAA,GAAA,CAAI,OAAO,MAAW,KAAA,CAAA,CAAA;AAC/B,CAAA;AAEA,SAAS,iBACP,GACkC,EAAA;AAClC,EAAO,OAAA,GAAA,CAAI,OAAO,MAAW,KAAA,CAAA,CAAA;AAC/B,CAAA;AAEA,eAAsB,cAAc,UAAoC,EAAA;AACtE,EAAA,MAAM,KAAK,KAAM,CAAA,MAAM,OAAO,YAAY,CAAA,GAAI,cAAc,cAAgB,GAAA,CAAA;AAC5E,EAAA,IAAI,EAAc,YAAA,cAAA;AAChB,IAAM,MAAA,IAAI,MAAM,8CAA8C,CAAA,CAAA;AAEhE,EAAA,EAAA,CAAG,KAAM,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,OAAO,CAAC,CAAA,CAAA;AAEhC,EAAC,CAAA,GAAI,cAAc,EAAC,EAAI,GAAG,kBAAkB,CAAA,CAAE,OAAQ,CAAA,CAAC,GAAQ,KAAA;AAC9D,IAAA,IAAI,kBAAkB,GAAG,CAAA;AACvB,MAAG,EAAA,CAAA,MAAA,CAAO,MAAM,MAAO,CAAA,MAAA,EAAQ,IAAI,IAAM,EAAA,GAAA,CAAI,MAAQ,EAAA,EAAE,CAAA,CAAA;AAAA,SAAA,IAChD,iBAAiB,GAAG,CAAA;AAC3B,MAAG,EAAA,CAAA,KAAA,CAAM,MAAM,MAAO,CAAA,MAAA,EAAQ,IAAI,IAAM,EAAA,GAAA,CAAI,MAAQ,EAAA,EAAE,CAAA,CAAA;AACxD,IAAA,EAAA,CAAG,SAAS,KAAM,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,GAAA,CAAI,SAAS,EAAE,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AAED,EAAO,OAAA,EAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"getRemarkable.js","sources":["../../src/markdown/getRemarkable.ts"],"sourcesContent":["import { markdownExtensions } from \"./extensions\";\r\nimport {\r\n ErrorImporting,\r\n IRemarkableBlockExtension,\r\n IRemarkableInlineExtension,\r\n RemarkableExtension,\r\n} from \"./types\";\r\n\r\nfunction isInlineExtension(\r\n ext: RemarkableExtension,\r\n): ext is IRemarkableInlineExtension {\r\n return ext.parser.length === 2;\r\n}\r\n\r\nfunction isBlockExtension(\r\n ext: RemarkableExtension,\r\n): ext is IRemarkableBlockExtension {\r\n return ext.parser.length === 4;\r\n}\r\n\r\nexport async function getRemarkable(extensions?: RemarkableExtension[]) {\r\n const md = new ((await import(\"remarkable\"))?.Remarkable ?? ErrorImporting)();\r\n if (md instanceof ErrorImporting)\r\n throw new Error(\"Could not import remarkable, cannot continue\");\r\n\r\n md.block.ruler.disable([\"table\"]);\r\n\r\n [...(extensions ?? []), ...markdownExtensions].forEach((ext) => {\r\n if (isInlineExtension(ext))\r\n md.inline.ruler.before(\"text\", ext.name, ext.parser, {});\r\n else if (isBlockExtension(ext))\r\n md.block.ruler.before(\"code\", ext.name, ext.parser, {});\r\n md.renderer.rules[ext.name] = ext.replacer(md);\r\n });\r\n\r\n return md;\r\n}\r\n"],"names":[],"mappings":";;;AAQA,SAAS,kBACP,GACmC,EAAA;AACnC,EAAO,OAAA,GAAA,CAAI,OAAO,MAAW,KAAA,CAAA,CAAA;AAC/B,CAAA;AAEA,SAAS,iBACP,GACkC,EAAA;AAClC,EAAO,OAAA,GAAA,CAAI,OAAO,MAAW,KAAA,CAAA,CAAA;AAC/B,CAAA;AAEA,eAAsB,cAAc,UAAoC,EAAA;AACtE,EAAA,MAAM,KAAK,KAAM,CAAA,MAAM,OAAO,YAAY,CAAA,GAAI,cAAc,cAAgB,GAAA,CAAA;AAC5E,EAAA,IAAI,EAAc,YAAA,cAAA;AAChB,IAAM,MAAA,IAAI,MAAM,8CAA8C,CAAA,CAAA;AAEhE,EAAA,EAAA,CAAG,KAAM,CAAA,KAAA,CAAM,OAAQ,CAAA,CAAC,OAAO,CAAC,CAAA,CAAA;AAEhC,EAAC,CAAA,GAAI,cAAc,EAAC,EAAI,GAAG,kBAAkB,CAAA,CAAE,OAAQ,CAAA,CAAC,GAAQ,KAAA;AAC9D,IAAA,IAAI,kBAAkB,GAAG,CAAA;AACvB,MAAG,EAAA,CAAA,MAAA,CAAO,MAAM,MAAO,CAAA,MAAA,EAAQ,IAAI,IAAM,EAAA,GAAA,CAAI,MAAQ,EAAA,EAAE,CAAA,CAAA;AAAA,SAAA,IAChD,iBAAiB,GAAG,CAAA;AAC3B,MAAG,EAAA,CAAA,KAAA,CAAM,MAAM,MAAO,CAAA,MAAA,EAAQ,IAAI,IAAM,EAAA,GAAA,CAAI,MAAQ,EAAA,EAAE,CAAA,CAAA;AACxD,IAAA,EAAA,CAAG,SAAS,KAAM,CAAA,GAAA,CAAI,IAAI,CAAI,GAAA,GAAA,CAAI,SAAS,EAAE,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AAED,EAAO,OAAA,EAAA,CAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sources":["../../src/markdown/help.ts"],"sourcesContent":["import { IMarkdownParser } from './types';\n\nexport function assignHelp(fn: IMarkdownParser) {\n Object.assign(fn, {\n help: `A markdown parser. Accepts a configuration object with the following structure: \n \ninterface IMarkdownFile {\n /**\n * Cadena de caracteres de CSS\n */\n additionalStyles?: string;\n /**\n * Contenido markdown\n */\n content: string;\n /**\n * Si el template html por defecto no es suficiente, se puede optar por un\n * template a medida.\n */\n htmlTemplate?: IMarkdownHtml;\n /**\n * Título que se mostrará en el html\n */\n title: string;\n}`,\n });\n}\n"],"names":[],"mappings":"AAEO,SAAS,WAAW,EAAqB,EAAA;AAC9C,EAAA,MAAA,CAAO,OAAO,EAAI,EAAA;AAAA,IAChB,IAAM,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAAA,GAqBP,CAAA,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"help.js","sources":["../../src/markdown/help.ts"],"sourcesContent":["import { IMarkdownParser } from './types';\r\n\r\nexport function assignHelp(fn: IMarkdownParser) {\r\n Object.assign(fn, {\r\n help: `A markdown parser. Accepts a configuration object with the following structure: \r\n \r\ninterface IMarkdownFile {\r\n /**\r\n * Cadena de caracteres de CSS\r\n */\r\n additionalStyles?: string;\r\n /**\r\n * Contenido markdown\r\n */\r\n content: string;\r\n /**\r\n * Si el template html por defecto no es suficiente, se puede optar por un\r\n * template a medida.\r\n */\r\n htmlTemplate?: IMarkdownHtml;\r\n /**\r\n * Título que se mostrará en el html\r\n */\r\n title: string;\r\n}`,\r\n });\r\n}\r\n"],"names":[],"mappings":"AAEO,SAAS,WAAW,EAAqB,EAAA;AAC9C,EAAA,MAAA,CAAO,OAAO,EAAI,EAAA;AAAA,IAChB,IAAM,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAAA,GAqBP,CAAA,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"html.js","sources":["../../src/markdown/html.ts"],"sourcesContent":["import { IMarkdownHtml } from './types';\n\nexport const markdownHtml: IMarkdownHtml = (\n title: string,\n css: string,\n body: string,\n) => `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${title}</title>\n <style>\n${css}\n </style>\n</head>\n<body>\n <main id=\"Container\">${body}</main>\n</body>\n</html>`;\n"],"names":[],"mappings":"AAEO,MAAM,YAA8B,GAAA,CACzC,KACA,EAAA,GAAA,EACA,IACG,KAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,EAKM,KAAK,CAAA;AAAA;AAAA,EAEd,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA,uBAAA,EAIoB,IAAI,CAAA;AAAA;AAAA,OAAA;;;;"}
1
+ {"version":3,"file":"html.js","sources":["../../src/markdown/html.ts"],"sourcesContent":["import { IMarkdownHtml } from './types';\r\n\r\nexport const markdownHtml: IMarkdownHtml = (\r\n title: string,\r\n css: string,\r\n body: string,\r\n) => `<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <title>${title}</title>\r\n <style>\r\n${css}\r\n </style>\r\n</head>\r\n<body>\r\n <main id=\"Container\">${body}</main>\r\n</body>\r\n</html>`;\r\n"],"names":[],"mappings":"AAEO,MAAM,YAA8B,GAAA,CACzC,KACA,EAAA,GAAA,EACA,IACG,KAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,EAKM,KAAK,CAAA;AAAA;AAAA,EAEd,GAAG,CAAA;AAAA;AAAA;AAAA;AAAA,uBAAA,EAIoB,IAAI,CAAA;AAAA;AAAA,OAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseMarkdown.js","sources":["../../src/markdown/parseMarkdown.ts"],"sourcesContent":["import { assignHelp } from './help';\nimport { ErrorImporting, IMarkdownParser } from './types';\nimport { getRemarkable } from './getRemarkable';\nimport { MarkdownBuilder } from './builder/MarkdownBuilder';\n\n/**\n * Toma una cadena de markdown y la convierte a html, incluyendo estilos por\n * defecto\n */\nexport const parseMarkdown: IMarkdownParser = async (options) => {\n const markdownLibrary = await getRemarkable(options.extensions);\n\n const css =\n (await import('./styles')).markdownParserStyles ?? new ErrorImporting();\n if (css instanceof ErrorImporting)\n throw new Error('Could not import css, cannot continue');\n\n const html =\n options.htmlTemplate ??\n (await import('./html')).markdownHtml ??\n new ErrorImporting();\n if (html instanceof ErrorImporting)\n throw new Error('Could not import html, cannot continue');\n\n const markdownString = options.content;\n\n const markdownParser = markdownLibrary.render.bind(markdownLibrary);\n let htmlString = markdownParser(markdownString);\n\n if (options.tableOfContentsTitle) {\n const b = new MarkdownBuilder();\n htmlString = b.addTableOfContents(options.tableOfContentsTitle, htmlString);\n }\n\n const rendered = html(\n options.title,\n css(options.additionalStyles, options.extensions),\n htmlString,\n );\n\n return rendered;\n};\n\nassignHelp(parseMarkdown);\n"],"names":[],"mappings":";;;;;AASa,MAAA,aAAA,GAAiC,OAAO,OAAY,KAAA;AAC/D,EAAA,MAAM,eAAkB,GAAA,MAAM,aAAc,CAAA,OAAA,CAAQ,UAAU,CAAA,CAAA;AAE9D,EAAA,MAAM,OACH,MAAM,OAAO,aAAU,CAAG,EAAA,oBAAA,IAAwB,IAAI,cAAe,EAAA,CAAA;AACxE,EAAA,IAAI,GAAe,YAAA,cAAA;AACjB,IAAM,MAAA,IAAI,MAAM,uCAAuC,CAAA,CAAA;AAEzD,EAAM,MAAA,IAAA,GACJ,QAAQ,YACP,IAAA,CAAA,MAAM,OAAO,WAAQ,CAAA,EAAG,YACzB,IAAA,IAAI,cAAe,EAAA,CAAA;AACrB,EAAA,IAAI,IAAgB,YAAA,cAAA;AAClB,IAAM,MAAA,IAAI,MAAM,wCAAwC,CAAA,CAAA;AAE1D,EAAA,MAAM,iBAAiB,OAAQ,CAAA,OAAA,CAAA;AAE/B,EAAA,MAAM,cAAiB,GAAA,eAAA,CAAgB,MAAO,CAAA,IAAA,CAAK,eAAe,CAAA,CAAA;AAClE,EAAI,IAAA,UAAA,GAAa,eAAe,cAAc,CAAA,CAAA;AAE9C,EAAA,IAAI,QAAQ,oBAAsB,EAAA;AAChC,IAAM,MAAA,CAAA,GAAI,IAAI,eAAgB,EAAA,CAAA;AAC9B,IAAA,UAAA,GAAa,CAAE,CAAA,kBAAA,CAAmB,OAAQ,CAAA,oBAAA,EAAsB,UAAU,CAAA,CAAA;AAAA,GAC5E;AAEA,EAAA,MAAM,QAAW,GAAA,IAAA;AAAA,IACf,OAAQ,CAAA,KAAA;AAAA,IACR,GAAI,CAAA,OAAA,CAAQ,gBAAkB,EAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,IAChD,UAAA;AAAA,GACF,CAAA;AAEA,EAAO,OAAA,QAAA,CAAA;AACT,EAAA;AAEA,UAAA,CAAW,aAAa,CAAA;;;;"}
1
+ {"version":3,"file":"parseMarkdown.js","sources":["../../src/markdown/parseMarkdown.ts"],"sourcesContent":["import { assignHelp } from './help';\r\nimport { ErrorImporting, IMarkdownParser } from './types';\r\nimport { getRemarkable } from './getRemarkable';\r\nimport { MarkdownBuilder } from './builder/MarkdownBuilder';\r\n\r\n/**\r\n * Toma una cadena de markdown y la convierte a html, incluyendo estilos por\r\n * defecto\r\n */\r\nexport const parseMarkdown: IMarkdownParser = async (options) => {\r\n const markdownLibrary = await getRemarkable(options.extensions);\r\n\r\n const css =\r\n (await import('./styles')).markdownParserStyles ?? new ErrorImporting();\r\n if (css instanceof ErrorImporting)\r\n throw new Error('Could not import css, cannot continue');\r\n\r\n const html =\r\n options.htmlTemplate ??\r\n (await import('./html')).markdownHtml ??\r\n new ErrorImporting();\r\n if (html instanceof ErrorImporting)\r\n throw new Error('Could not import html, cannot continue');\r\n\r\n const markdownString = options.content;\r\n\r\n const markdownParser = markdownLibrary.render.bind(markdownLibrary);\r\n let htmlString = markdownParser(markdownString);\r\n\r\n if (options.tableOfContentsTitle) {\r\n const b = new MarkdownBuilder();\r\n htmlString = b.addTableOfContents(options.tableOfContentsTitle, htmlString);\r\n }\r\n\r\n const rendered = html(\r\n options.title,\r\n css(options.additionalStyles, options.extensions),\r\n htmlString,\r\n );\r\n\r\n return rendered;\r\n};\r\n\r\nassignHelp(parseMarkdown);\r\n"],"names":[],"mappings":";;;;;AASa,MAAA,aAAA,GAAiC,OAAO,OAAY,KAAA;AAC/D,EAAA,MAAM,eAAkB,GAAA,MAAM,aAAc,CAAA,OAAA,CAAQ,UAAU,CAAA,CAAA;AAE9D,EAAA,MAAM,OACH,MAAM,OAAO,aAAU,CAAG,EAAA,oBAAA,IAAwB,IAAI,cAAe,EAAA,CAAA;AACxE,EAAA,IAAI,GAAe,YAAA,cAAA;AACjB,IAAM,MAAA,IAAI,MAAM,uCAAuC,CAAA,CAAA;AAEzD,EAAM,MAAA,IAAA,GACJ,QAAQ,YACP,IAAA,CAAA,MAAM,OAAO,WAAQ,CAAA,EAAG,YACzB,IAAA,IAAI,cAAe,EAAA,CAAA;AACrB,EAAA,IAAI,IAAgB,YAAA,cAAA;AAClB,IAAM,MAAA,IAAI,MAAM,wCAAwC,CAAA,CAAA;AAE1D,EAAA,MAAM,iBAAiB,OAAQ,CAAA,OAAA,CAAA;AAE/B,EAAA,MAAM,cAAiB,GAAA,eAAA,CAAgB,MAAO,CAAA,IAAA,CAAK,eAAe,CAAA,CAAA;AAClE,EAAI,IAAA,UAAA,GAAa,eAAe,cAAc,CAAA,CAAA;AAE9C,EAAA,IAAI,QAAQ,oBAAsB,EAAA;AAChC,IAAM,MAAA,CAAA,GAAI,IAAI,eAAgB,EAAA,CAAA;AAC9B,IAAA,UAAA,GAAa,CAAE,CAAA,kBAAA,CAAmB,OAAQ,CAAA,oBAAA,EAAsB,UAAU,CAAA,CAAA;AAAA,GAC5E;AAEA,EAAA,MAAM,QAAW,GAAA,IAAA;AAAA,IACf,OAAQ,CAAA,KAAA;AAAA,IACR,GAAI,CAAA,OAAA,CAAQ,gBAAkB,EAAA,OAAA,CAAQ,UAAU,CAAA;AAAA,IAChD,UAAA;AAAA,GACF,CAAA;AAEA,EAAO,OAAA,QAAA,CAAA;AACT,EAAA;AAEA,UAAA,CAAW,aAAa,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../src/markdown/styles.ts"],"sourcesContent":["import { IMarkdownStylesAggregator, RemarkableExtension } from './types';\nimport { markdownTheme } from './theme/markdownTheme';\nimport { markdownExtensions } from './extensions';\n\nconst printStyles: IMarkdownStylesAggregator = () => `\n@media print {\n body {\n background: white;\n }\n\n #Container {\n border: none;\n margin: 0;\n width: auto;\n padding: 0;\n }\n}\n`;\n\nconst styles = (\n additionalStyles?: IMarkdownStylesAggregator,\n extensions?: RemarkableExtension[],\n) => {\n const generated = `\n${markdownTheme}\n\n#Container {\n display: flex;\n flex-direction: column;\n gap: var(--space-6);\n margin: var(--space-6) auto;\n width: 920px;\n\n & > * {\n margin: 0;\n }\n\n h1, h2, h3, h4, h5, h6 {\n margin: 0;\n }\n\n li > *:not(:first-child) {\n margin-top: var(--space-5);\n margin-bottom: var(--space-5);\n }\n}\n${printStyles()}\n\n${[...(extensions ?? []), ...markdownExtensions]\n .map((current) => current.styles())\n .join('\\n\\n')}\n\n${additionalStyles?.() ?? ''}\n`;\n\n return generated;\n};\n\nexport const markdownParserStyles = (\n additionalStyles?: IMarkdownStylesAggregator,\n extensions?: RemarkableExtension[],\n) => {\n return styles(additionalStyles, extensions);\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,cAAyC,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAerD,MAAM,MAAA,GAAS,CACb,gBAAA,EACA,UACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,CAAA;AAAA,EAClB,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBb,aAAa,CAAA;AAAA;AAAA,EAEb,CAAC,GAAI,UAAA,IAAc,EAAC,EAAI,GAAG,kBAAkB,CAAA,CAC5C,GAAI,CAAA,CAAC,YAAY,OAAQ,CAAA,MAAA,EAAQ,CACjC,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA;AAAA,EAEb,gBAAA,QAAwB,EAAE,CAAA;AAAA,CAAA,CAAA;AAG1B,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,oBAAA,GAAuB,CAClC,gBAAA,EACA,UACG,KAAA;AACH,EAAO,OAAA,MAAA,CAAO,kBAAkB,UAAU,CAAA,CAAA;AAC5C;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../src/markdown/styles.ts"],"sourcesContent":["import { IMarkdownStylesAggregator, RemarkableExtension } from './types';\r\nimport { markdownTheme } from './theme/markdownTheme';\r\nimport { markdownExtensions } from './extensions';\r\n\r\nconst printStyles: IMarkdownStylesAggregator = () => `\r\n@media print {\r\n body {\r\n background: white;\r\n }\r\n\r\n #Container {\r\n border: none;\r\n margin: 0;\r\n width: auto;\r\n padding: 0;\r\n }\r\n}\r\n`;\r\n\r\nconst styles = (\r\n additionalStyles?: IMarkdownStylesAggregator,\r\n extensions?: RemarkableExtension[],\r\n) => {\r\n const generated = `\r\n${markdownTheme}\r\n\r\n#Container {\r\n display: flex;\r\n flex-direction: column;\r\n gap: var(--space-6);\r\n margin: var(--space-6) auto;\r\n width: 920px;\r\n\r\n & > * {\r\n margin: 0;\r\n }\r\n\r\n h1, h2, h3, h4, h5, h6 {\r\n margin: 0;\r\n }\r\n\r\n li > *:not(:first-child) {\r\n margin-top: var(--space-5);\r\n margin-bottom: var(--space-5);\r\n }\r\n}\r\n${printStyles()}\r\n\r\n${[...(extensions ?? []), ...markdownExtensions]\r\n .map((current) => current.styles())\r\n .join('\\n\\n')}\r\n\r\n${additionalStyles?.() ?? ''}\r\n`;\r\n\r\n return generated;\r\n};\r\n\r\nexport const markdownParserStyles = (\r\n additionalStyles?: IMarkdownStylesAggregator,\r\n extensions?: RemarkableExtension[],\r\n) => {\r\n return styles(additionalStyles, extensions);\r\n};\r\n"],"names":[],"mappings":";;;AAIA,MAAM,cAAyC,MAAM,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA,CAAA;AAerD,MAAM,MAAA,GAAS,CACb,gBAAA,EACA,UACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,CAAA;AAAA,EAClB,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBb,aAAa,CAAA;AAAA;AAAA,EAEb,CAAC,GAAI,UAAA,IAAc,EAAC,EAAI,GAAG,kBAAkB,CAAA,CAC5C,GAAI,CAAA,CAAC,YAAY,OAAQ,CAAA,MAAA,EAAQ,CACjC,CAAA,IAAA,CAAK,MAAM,CAAC,CAAA;AAAA;AAAA,EAEb,gBAAA,QAAwB,EAAE,CAAA;AAAA,CAAA,CAAA;AAG1B,EAAO,OAAA,SAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,oBAAA,GAAuB,CAClC,gBAAA,EACA,UACG,KAAA;AACH,EAAO,OAAA,MAAA,CAAO,kBAAkB,UAAU,CAAA,CAAA;AAC5C;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"markdownTheme.js","sources":["../../../src/markdown/theme/markdownTheme.ts"],"sourcesContent":["export const markdownTheme = `:root {\n --color-error-back: #fff2f4;\n --color-error-border: rgb(115, 7, 9);\n --color-error-text: var(--color-text-default);\n --color-warning-back: #fffdd9;\n --color-warning-border: rgb(244, 239, 64);\n --color-warning-text: var(--color-text-default);\n --color-success-back: #e7ffd9;\n --color-success-border: rgb(79, 205, 79);\n --color-success-text: var(--color-text-default);\n --color-primary: rgb(0, 73, 108);\n --color-primary-light: #f8fdff;\n --color-primary-contrast: white;\n --color-back-paper: white;\n --color-back-default: white;\n --color-border-field: #aaa;\n --color-border-section: #ddd;\n --color-text-default: #333;\n --color-text-disabled: #aaa;\n --color-text-heading: var(--color-primary);\n --font-size-h1: 32px;\n --font-size-h2: 28px;\n --font-size-h3: 25px;\n --font-size-h4: 21px;\n --font-size-h5: 18px;\n --font-size-h6: 16px;\n --font-size-default: 16px;\n --font-family-heading: Inter, system-ui, \"Segoe UI\", \"Helvetica Neue\", sans-serif, Roboto;\n --font-family-default: Inter, system-ui, \"Segoe UI\", \"Helvetica Neue\", sans-serif, Roboto;\n --font-family-monospace: monospace;\n --table-head-color-background: var(--color-primary);\n --table-head-color-text: var(--color-primary-contrast);\n --table-head-color-border: var(--color-primary);\n --table-head-border: 1px solid var(--table-head-color-border);\n --table-head-cell-padding: var(--space-4);\n --table-head-font-weight: bold;\n --table-head-text-align: center;\n --table-body-color-background: transparent;\n --table-body-color-background-odd: var(--color-primary-light);\n --table-body-color-text: inherit;\n --table-body-color-border: var(--color-border-section);\n --table-body-border: 1px solid var(--table-body-color-border);\n --table-body-cell-padding: var(--space-4);\n --table-color-background: var(--color-back-paper);\n --table-color-border: var(--color-border-section);\n --table-border: 1px solid var(--table-color-border);\n --table-border-collapse: collapse;\n --shadow-sheet: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;\n --space-0: 0;\n --space-1: 2px;\n --space-2: 4px;\n --space-3: 8px;\n --space-4: 12px;\n --space-5: 16px;\n --space-6: 24px;\n}\n\nhtml {\n margin: 0;\n font-size: var(--font-size-default);\n font-family: var(--font-family-default);\n color: var(--color-text-default);\n}\n\nbody {\n background: var(--color-back-default);\n margin: 0;\n}\n\npre, code {\n font-family: var(--font-family-monospace);\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-family: var(--font-family-heading);\n color: var(--color-text-heading);\n}\n\nh1 {\n font-size: var(--font-size-h1);\n}\nh1:first-of-type {\n margin-top: 0;\n}\n\nh2 {\n font-size: var(--font-size-h2);\n}\n\nh3 {\n font-size: var(--font-size-h3);\n}\n\nh4 {\n font-size: var(--font-size-h4);\n}\n\nh5 {\n font-size: var(--font-size-h5);\n}\n\nh6 {\n font-size: var(--font-size-h6);\n}\n\na {\n color: var(--color-text-default);\n}\n\na:visited {\n color: var(--color-primary);\n}\n\ntable {\n border-collapse: var(--table-border-collapse);\n border: var(--table-border);\n width: 100%;\n}\ntable thead th, table thead td.heading, table tbody th, table tbody td.heading {\n background: var(--table-head-color-background);\n color: var(--table-head-color-text);\n border: var(--table-head-border);\n padding: var(--table-head-cell-padding);\n font-weight: var(--table-head-font-weight);\n text-align: var(--table-head-text-align);\n text-wrap: nowrap;\n}\ntable tbody td {\n background: var(--table-body-color-background);\n color: var(--table-body-color-text);\n border: var(--table-body-border);\n padding: var(--table-body-cell-padding);\n}\ntable tbody tr:nth-child(2n) td:not(.heading) {\n background: var(--table-body-color-background-odd);\n}`;\n"],"names":[],"mappings":"AAAO,MAAM,aAAgB,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"markdownTheme.js","sources":["../../../src/markdown/theme/markdownTheme.ts"],"sourcesContent":["export const markdownTheme = `:root {\r\n --color-error-back: #fff2f4;\r\n --color-error-border: rgb(115, 7, 9);\r\n --color-error-text: var(--color-text-default);\r\n --color-warning-back: #fffdd9;\r\n --color-warning-border: rgb(244, 239, 64);\r\n --color-warning-text: var(--color-text-default);\r\n --color-success-back: #e7ffd9;\r\n --color-success-border: rgb(79, 205, 79);\r\n --color-success-text: var(--color-text-default);\r\n --color-primary: rgb(0, 73, 108);\r\n --color-primary-light: #f8fdff;\r\n --color-primary-contrast: white;\r\n --color-back-paper: white;\r\n --color-back-default: white;\r\n --color-border-field: #aaa;\r\n --color-border-section: #ddd;\r\n --color-text-default: #333;\r\n --color-text-disabled: #aaa;\r\n --color-text-heading: var(--color-primary);\r\n --font-size-h1: 32px;\r\n --font-size-h2: 28px;\r\n --font-size-h3: 25px;\r\n --font-size-h4: 21px;\r\n --font-size-h5: 18px;\r\n --font-size-h6: 16px;\r\n --font-size-default: 16px;\r\n --font-family-heading: Inter, system-ui, \"Segoe UI\", \"Helvetica Neue\", sans-serif, Roboto;\r\n --font-family-default: Inter, system-ui, \"Segoe UI\", \"Helvetica Neue\", sans-serif, Roboto;\r\n --font-family-monospace: monospace;\r\n --table-head-color-background: var(--color-primary);\r\n --table-head-color-text: var(--color-primary-contrast);\r\n --table-head-color-border: var(--color-primary);\r\n --table-head-border: 1px solid var(--table-head-color-border);\r\n --table-head-cell-padding: var(--space-4);\r\n --table-head-font-weight: bold;\r\n --table-head-text-align: center;\r\n --table-body-color-background: transparent;\r\n --table-body-color-background-odd: var(--color-primary-light);\r\n --table-body-color-text: inherit;\r\n --table-body-color-border: var(--color-border-section);\r\n --table-body-border: 1px solid var(--table-body-color-border);\r\n --table-body-cell-padding: var(--space-4);\r\n --table-color-background: var(--color-back-paper);\r\n --table-color-border: var(--color-border-section);\r\n --table-border: 1px solid var(--table-color-border);\r\n --table-border-collapse: collapse;\r\n --shadow-sheet: rgba(50, 50, 105, 0.15) 0px 2px 5px 0px, rgba(0, 0, 0, 0.05) 0px 1px 1px 0px;\r\n --space-0: 0;\r\n --space-1: 2px;\r\n --space-2: 4px;\r\n --space-3: 8px;\r\n --space-4: 12px;\r\n --space-5: 16px;\r\n --space-6: 24px;\r\n}\r\n\r\nhtml {\r\n margin: 0;\r\n font-size: var(--font-size-default);\r\n font-family: var(--font-family-default);\r\n color: var(--color-text-default);\r\n}\r\n\r\nbody {\r\n background: var(--color-back-default);\r\n margin: 0;\r\n}\r\n\r\npre, code {\r\n font-family: var(--font-family-monospace);\r\n}\r\n\r\nh1, h2, h3, h4, h5, h6 {\r\n font-family: var(--font-family-heading);\r\n color: var(--color-text-heading);\r\n}\r\n\r\nh1 {\r\n font-size: var(--font-size-h1);\r\n}\r\nh1:first-of-type {\r\n margin-top: 0;\r\n}\r\n\r\nh2 {\r\n font-size: var(--font-size-h2);\r\n}\r\n\r\nh3 {\r\n font-size: var(--font-size-h3);\r\n}\r\n\r\nh4 {\r\n font-size: var(--font-size-h4);\r\n}\r\n\r\nh5 {\r\n font-size: var(--font-size-h5);\r\n}\r\n\r\nh6 {\r\n font-size: var(--font-size-h6);\r\n}\r\n\r\na {\r\n color: var(--color-text-default);\r\n}\r\n\r\na:visited {\r\n color: var(--color-primary);\r\n}\r\n\r\ntable {\r\n border-collapse: var(--table-border-collapse);\r\n border: var(--table-border);\r\n width: 100%;\r\n}\r\ntable thead th, table thead td.heading, table tbody th, table tbody td.heading {\r\n background: var(--table-head-color-background);\r\n color: var(--table-head-color-text);\r\n border: var(--table-head-border);\r\n padding: var(--table-head-cell-padding);\r\n font-weight: var(--table-head-font-weight);\r\n text-align: var(--table-head-text-align);\r\n text-wrap: nowrap;\r\n}\r\ntable tbody td {\r\n background: var(--table-body-color-background);\r\n color: var(--table-body-color-text);\r\n border: var(--table-body-border);\r\n padding: var(--table-body-cell-padding);\r\n}\r\ntable tbody tr:nth-child(2n) td:not(.heading) {\r\n background: var(--table-body-color-background-odd);\r\n}`;\r\n"],"names":[],"mappings":"AAAO,MAAM,aAAgB,GAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/markdown/types.ts"],"sourcesContent":["import type { StateBlock, StateInline, TagToken } from \"remarkable/lib\";\nimport type { Remarkable } from \"remarkable\";\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ErrorImporting {}\n\nexport type IMarkdownHtml = (\n title: string,\n css: string,\n body: string,\n) => string;\n\nexport type IMarkdownParser = (\n options: IMarkdownConfiguration,\n) => Promise<string>;\n\nexport interface IMarkdownConfiguration {\n /**\n * Cadena de caracteres de CSS\n */\n additionalStyles?: IMarkdownStylesAggregator;\n /**\n * Contenido markdown\n */\n content: string;\n /**\n * Permite el pasaje de extensiones adicionales\n */\n extensions?: RemarkableExtension[];\n /**\n * Si el template html por defecto no es suficiente, se puede optar por un\n * template a medida.\n */\n htmlTemplate?: IMarkdownHtml;\n /**\n * If passed, will print the table of contents with the indicated title.\n */\n tableOfContentsTitle?: string;\n /**\n * Título que se mostrará en el html\n */\n title: string;\n}\n\nexport interface IRemarkableInlineExtension {\n name: string;\n parser: (state: StateInline, checkMode: boolean) => boolean;\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\n styles: () => string;\n}\n\nexport interface IRemarkableBlockExtension {\n name: string;\n parser: (\n state: StateBlock,\n startLine: number,\n endLine: number,\n checkMode: boolean,\n ) => boolean;\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\n styles: () => string;\n}\n\nexport type RemarkableExtension =\n | IRemarkableInlineExtension\n | IRemarkableBlockExtension;\n\nexport type IMarkdownStylesAggregator = () => string;\n"],"names":[],"mappings":"AAIO,MAAM,cAAe,CAAA;AAAC;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/markdown/types.ts"],"sourcesContent":["import type { StateBlock, StateInline, TagToken } from \"remarkable/lib\";\r\nimport type { Remarkable } from \"remarkable\";\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nexport class ErrorImporting {}\r\n\r\nexport type IMarkdownHtml = (\r\n title: string,\r\n css: string,\r\n body: string,\r\n) => string;\r\n\r\nexport type IMarkdownParser = (\r\n options: IMarkdownConfiguration,\r\n) => Promise<string>;\r\n\r\nexport interface IMarkdownConfiguration {\r\n /**\r\n * Cadena de caracteres de CSS\r\n */\r\n additionalStyles?: IMarkdownStylesAggregator;\r\n /**\r\n * Contenido markdown\r\n */\r\n content: string;\r\n /**\r\n * Permite el pasaje de extensiones adicionales\r\n */\r\n extensions?: RemarkableExtension[];\r\n /**\r\n * Si el template html por defecto no es suficiente, se puede optar por un\r\n * template a medida.\r\n */\r\n htmlTemplate?: IMarkdownHtml;\r\n /**\r\n * If passed, will print the table of contents with the indicated title.\r\n */\r\n tableOfContentsTitle?: string;\r\n /**\r\n * Título que se mostrará en el html\r\n */\r\n title: string;\r\n}\r\n\r\nexport interface IRemarkableInlineExtension {\r\n name: string;\r\n parser: (state: StateInline, checkMode: boolean) => boolean;\r\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\r\n styles: () => string;\r\n}\r\n\r\nexport interface IRemarkableBlockExtension {\r\n name: string;\r\n parser: (\r\n state: StateBlock,\r\n startLine: number,\r\n endLine: number,\r\n checkMode: boolean,\r\n ) => boolean;\r\n replacer: (md: Remarkable) => (tokens: TagToken[], idx: number) => string;\r\n styles: () => string;\r\n}\r\n\r\nexport type RemarkableExtension =\r\n | IRemarkableInlineExtension\r\n | IRemarkableBlockExtension;\r\n\r\nexport type IMarkdownStylesAggregator = () => string;\r\n"],"names":[],"mappings":"AAIO,MAAM,cAAe,CAAA;AAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomThemeProvider.js","sources":["../../src/methods/CustomThemeProvider.tsx"],"sourcesContent":["import { ThemeUIProvider, Theme } from 'theme-ui';\nimport { ReactNode } from 'react';\nimport { getMainTheme } from './getMainTheme';\n\ninterface TThemeProvider {\n children: ReactNode;\n customTheme?: () => Theme;\n}\n\nexport const CustomThemeProvider = ({\n children,\n customTheme,\n}: TThemeProvider) => {\n const theme: Theme = getMainTheme(customTheme);\n\n return <ThemeUIProvider theme={theme}>{children}</ThemeUIProvider>;\n};\n"],"names":[],"mappings":";;;;AASO,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,WAAA;AACF,CAAsB,KAAA;AACpB,EAAM,MAAA,KAAA,GAAe,aAAa,WAAW,CAAA,CAAA;AAE7C,EAAO,uBAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,KAAA,EAAe,QAAS,EAAA,CAAA,CAAA;AAClD;;;;"}
1
+ {"version":3,"file":"CustomThemeProvider.js","sources":["../../src/methods/CustomThemeProvider.tsx"],"sourcesContent":["import { ThemeUIProvider, Theme } from 'theme-ui';\r\nimport { ReactNode } from 'react';\r\nimport { getMainTheme } from './getMainTheme';\r\n\r\ninterface TThemeProvider {\r\n children: ReactNode;\r\n customTheme?: () => Theme;\r\n}\r\n\r\nexport const CustomThemeProvider = ({\r\n children,\r\n customTheme,\r\n}: TThemeProvider) => {\r\n const theme: Theme = getMainTheme(customTheme);\r\n\r\n return <ThemeUIProvider theme={theme}>{children}</ThemeUIProvider>;\r\n};\r\n"],"names":[],"mappings":";;;;AASO,MAAM,sBAAsB,CAAC;AAAA,EAClC,QAAA;AAAA,EACA,WAAA;AACF,CAAsB,KAAA;AACpB,EAAM,MAAA,KAAA,GAAe,aAAa,WAAW,CAAA,CAAA;AAE7C,EAAO,uBAAA,GAAA,CAAC,eAAgB,EAAA,EAAA,KAAA,EAAe,QAAS,EAAA,CAAA,CAAA;AAClD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMainTheme.js","sources":["../../src/methods/getMainTheme.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\nimport {\n ColorModesScale,\n Theme,\n ThemeUICSSObject,\n ThemeUIStyleObject,\n} from 'theme-ui';\nimport merge from 'lodash-es/merge';\nimport { setValueByPath } from '@apia/util';\nimport { baseTheme } from '../base/baseTheme';\nimport {\n TCustomPalette,\n TParsedPalette,\n TThemeModifier,\n} from '../base/colors/types';\nimport { getThemeColorsObject, parsePalette } from '../base/colors';\nimport defaultPalette from '../base/colors/defaultPalette';\nimport forms from '../base/forms';\nimport { layout } from '../base/layout';\n\nconst makeTheme = <T extends Theme>(t: T) => {\n return t;\n};\n\nlet declaredStyles: ThemeUICSSObject = {};\n\nexport function declareStyles(\n path: string,\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\n) {\n const newStyles = {};\n setValueByPath(newStyles, path, styles);\n declaredStyles = merge(declaredStyles, newStyles);\n}\n\nexport function getMainTheme(\n customTheme?: () => Omit<Theme, 'palette'>,\n customPalette?: TCustomPalette,\n\n themeModifier?: TThemeModifier,\n) {\n const palette = parsePalette(merge({}, defaultPalette, customPalette));\n window.currentPalette = palette;\n\n const theme = makeTheme(\n merge(baseTheme(), { layout: declaredStyles }, customTheme?.() ?? {}, {\n palette: {} as TParsedPalette,\n }),\n );\n\n theme.palette = palette;\n\n theme.colors = getThemeColorsObject(theme) as unknown as ColorModesScale;\n theme.forms = forms(theme) as Record<string, ThemeUIStyleObject>;\n theme.layout = merge(layout(theme), theme.layout);\n\n theme.styles = merge({}, customTheme?.().styles, { root: theme.layout.root });\n\n return themeModifier?.(theme) ?? theme;\n}\n"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,SAAA,GAAY,CAAkB,CAAS,KAAA;AAC3C,EAAO,OAAA,CAAA,CAAA;AACT,CAAA,CAAA;AAEA,IAAI,iBAAmC,EAAC,CAAA;AAWxB,SAAA,YAAA,CACd,WACA,EAAA,aAAA,EAEA,aACA,EAAA;AACA,EAAA,MAAM,UAAU,YAAa,CAAA,KAAA,CAAM,EAAI,EAAA,cAAA,EAAgB,aAAa,CAAC,CAAA,CAAA;AACrE,EAAA,MAAA,CAAO,cAAiB,GAAA,OAAA,CAAA;AAExB,EAAA,MAAM,KAAQ,GAAA,SAAA;AAAA,IACZ,KAAA,CAAM,SAAU,EAAA,EAAG,EAAE,MAAA,EAAQ,gBAAkB,EAAA,WAAA,IAAmB,IAAA,EAAI,EAAA;AAAA,MACpE,SAAS,EAAC;AAAA,KACX,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAA;AAEhB,EAAM,KAAA,CAAA,MAAA,GAAS,qBAAqB,KAAK,CAAA,CAAA;AACzC,EAAM,KAAA,CAAA,KAAA,GAAQ,MAAM,KAAK,CAAA,CAAA;AACzB,EAAA,KAAA,CAAM,SAAS,KAAM,CAAA,MAAA,CAAO,KAAK,CAAA,EAAG,MAAM,MAAM,CAAA,CAAA;AAEhD,EAAA,KAAA,CAAM,MAAS,GAAA,KAAA,CAAM,EAAC,EAAG,WAAc,IAAA,CAAE,MAAQ,EAAA,EAAE,IAAM,EAAA,KAAA,CAAM,MAAO,CAAA,IAAA,EAAM,CAAA,CAAA;AAE5E,EAAO,OAAA,aAAA,GAAgB,KAAK,CAAK,IAAA,KAAA,CAAA;AACnC;;;;"}
1
+ {"version":3,"file":"getMainTheme.js","sources":["../../src/methods/getMainTheme.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/* eslint-disable @typescript-eslint/no-unsafe-argument */\r\nimport {\r\n ColorModesScale,\r\n Theme,\r\n ThemeUICSSObject,\r\n ThemeUIStyleObject,\r\n} from 'theme-ui';\r\nimport merge from 'lodash-es/merge';\r\nimport { setValueByPath } from '@apia/util';\r\nimport { baseTheme } from '../base/baseTheme';\r\nimport {\r\n TCustomPalette,\r\n TParsedPalette,\r\n TThemeModifier,\r\n} from '../base/colors/types';\r\nimport { getThemeColorsObject, parsePalette } from '../base/colors';\r\nimport defaultPalette from '../base/colors/defaultPalette';\r\nimport forms from '../base/forms';\r\nimport { layout } from '../base/layout';\r\n\r\nconst makeTheme = <T extends Theme>(t: T) => {\r\n return t;\r\n};\r\n\r\nlet declaredStyles: ThemeUICSSObject = {};\r\n\r\nexport function declareStyles(\r\n path: string,\r\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\r\n) {\r\n const newStyles = {};\r\n setValueByPath(newStyles, path, styles);\r\n declaredStyles = merge(declaredStyles, newStyles);\r\n}\r\n\r\nexport function getMainTheme(\r\n customTheme?: () => Omit<Theme, 'palette'>,\r\n customPalette?: TCustomPalette,\r\n\r\n themeModifier?: TThemeModifier,\r\n) {\r\n const palette = parsePalette(merge({}, defaultPalette, customPalette));\r\n window.currentPalette = palette;\r\n\r\n const theme = makeTheme(\r\n merge(baseTheme(), { layout: declaredStyles }, customTheme?.() ?? {}, {\r\n palette: {} as TParsedPalette,\r\n }),\r\n );\r\n\r\n theme.palette = palette;\r\n\r\n theme.colors = getThemeColorsObject(theme) as unknown as ColorModesScale;\r\n theme.forms = forms(theme) as Record<string, ThemeUIStyleObject>;\r\n theme.layout = merge(layout(theme), theme.layout);\r\n\r\n theme.styles = merge({}, customTheme?.().styles, { root: theme.layout.root });\r\n\r\n return themeModifier?.(theme) ?? theme;\r\n}\r\n"],"names":[],"mappings":";;;;;;;;AAqBA,MAAM,SAAA,GAAY,CAAkB,CAAS,KAAA;AAC3C,EAAO,OAAA,CAAA,CAAA;AACT,CAAA,CAAA;AAEA,IAAI,iBAAmC,EAAC,CAAA;AAWxB,SAAA,YAAA,CACd,WACA,EAAA,aAAA,EAEA,aACA,EAAA;AACA,EAAA,MAAM,UAAU,YAAa,CAAA,KAAA,CAAM,EAAI,EAAA,cAAA,EAAgB,aAAa,CAAC,CAAA,CAAA;AACrE,EAAA,MAAA,CAAO,cAAiB,GAAA,OAAA,CAAA;AAExB,EAAA,MAAM,KAAQ,GAAA,SAAA;AAAA,IACZ,KAAA,CAAM,SAAU,EAAA,EAAG,EAAE,MAAA,EAAQ,gBAAkB,EAAA,WAAA,IAAmB,IAAA,EAAI,EAAA;AAAA,MACpE,SAAS,EAAC;AAAA,KACX,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA,CAAM,OAAU,GAAA,OAAA,CAAA;AAEhB,EAAM,KAAA,CAAA,MAAA,GAAS,qBAAqB,KAAK,CAAA,CAAA;AACzC,EAAM,KAAA,CAAA,KAAA,GAAQ,MAAM,KAAK,CAAA,CAAA;AACzB,EAAA,KAAA,CAAM,SAAS,KAAM,CAAA,MAAA,CAAO,KAAK,CAAA,EAAG,MAAM,MAAM,CAAA,CAAA;AAEhD,EAAA,KAAA,CAAM,MAAS,GAAA,KAAA,CAAM,EAAC,EAAG,WAAc,IAAA,CAAE,MAAQ,EAAA,EAAE,IAAM,EAAA,KAAA,CAAM,MAAO,CAAA,IAAA,EAAM,CAAA,CAAA;AAE5E,EAAO,OAAA,aAAA,GAAgB,KAAK,CAAK,IAAA,KAAA,CAAA;AACnC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"injectStyles.js","sources":["../../src/methods/injectStyles.ts"],"sourcesContent":["import { ThemeUICSSObject } from 'theme-ui';\nimport { mainThemeEmitter } from './useMainTheme';\n\n/**\n * Esta función permite agregar estilos al tema principal de la aplicación, de\n * modo que estén disponibles para cualquier componente que lo requirea.\n *\n * @example\n *\n * injectStyles('buttons.myRedButton', {\n * variant: 'buttons.primary',\n * backgroundColor: 'red',\n * })\n */\nexport function injectStyles(path: string, styles: ThemeUICSSObject): void;\n\n/**\n * Esta función permite agregar estilos al tema principal de la aplicación, de\n * modo que estén disponibles para cualquier componente que lo requirea.\n *\n * @example\n *\n * injectStyles({\n * layout: {\n * panels: {\n * myPanel: {\n * ...\n * }\n * }\n * }\n * })\n */\nexport function injectStyles(styles: ThemeUICSSObject): void;\n\nexport function injectStyles(\n par1: string | ThemeUICSSObject,\n par2?: ThemeUICSSObject,\n) {\n const path = typeof par1 === 'string' ? par1 : '';\n const styles = typeof par1 === 'string' ? (par2 as ThemeUICSSObject) : par1;\n\n mainThemeEmitter.emit('newStyles', { path, styles });\n}\n"],"names":[],"mappings":";;AAkCgB,SAAA,YAAA,CACd,MACA,IACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAA,OAAO,IAAS,KAAA,QAAA,GAAW,IAAO,GAAA,EAAA,CAAA;AAC/C,EAAA,MAAM,MAAS,GAAA,OAAO,IAAS,KAAA,QAAA,GAAY,IAA4B,GAAA,IAAA,CAAA;AAEvE,EAAA,gBAAA,CAAiB,IAAK,CAAA,WAAA,EAAa,EAAE,IAAA,EAAM,QAAQ,CAAA,CAAA;AACrD;;;;"}
1
+ {"version":3,"file":"injectStyles.js","sources":["../../src/methods/injectStyles.ts"],"sourcesContent":["import { ThemeUICSSObject } from 'theme-ui';\r\nimport { mainThemeEmitter } from './useMainTheme';\r\n\r\n/**\r\n * Esta función permite agregar estilos al tema principal de la aplicación, de\r\n * modo que estén disponibles para cualquier componente que lo requirea.\r\n *\r\n * @example\r\n *\r\n * injectStyles('buttons.myRedButton', {\r\n * variant: 'buttons.primary',\r\n * backgroundColor: 'red',\r\n * })\r\n */\r\nexport function injectStyles(path: string, styles: ThemeUICSSObject): void;\r\n\r\n/**\r\n * Esta función permite agregar estilos al tema principal de la aplicación, de\r\n * modo que estén disponibles para cualquier componente que lo requirea.\r\n *\r\n * @example\r\n *\r\n * injectStyles({\r\n * layout: {\r\n * panels: {\r\n * myPanel: {\r\n * ...\r\n * }\r\n * }\r\n * }\r\n * })\r\n */\r\nexport function injectStyles(styles: ThemeUICSSObject): void;\r\n\r\nexport function injectStyles(\r\n par1: string | ThemeUICSSObject,\r\n par2?: ThemeUICSSObject,\r\n) {\r\n const path = typeof par1 === 'string' ? par1 : '';\r\n const styles = typeof par1 === 'string' ? (par2 as ThemeUICSSObject) : par1;\r\n\r\n mainThemeEmitter.emit('newStyles', { path, styles });\r\n}\r\n"],"names":[],"mappings":";;AAkCgB,SAAA,YAAA,CACd,MACA,IACA,EAAA;AACA,EAAA,MAAM,IAAO,GAAA,OAAO,IAAS,KAAA,QAAA,GAAW,IAAO,GAAA,EAAA,CAAA;AAC/C,EAAA,MAAM,MAAS,GAAA,OAAO,IAAS,KAAA,QAAA,GAAY,IAA4B,GAAA,IAAA,CAAA;AAEvE,EAAA,gBAAA,CAAiB,IAAK,CAAA,WAAA,EAAa,EAAE,IAAA,EAAM,QAAQ,CAAA,CAAA;AACrD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"makeStyledComponent.js","sources":["../../src/methods/makeStyledComponent.tsx"],"sourcesContent":["import { setValueByPath } from '@apia/util';\nimport {\n FC,\n MutableRefObject,\n ReactNode,\n Suspense,\n useMemo,\n useRef,\n} from 'react';\nimport { ThemeUICSSObject, Box, useThemeUI } from 'theme-ui';\nimport { getVariant } from '../util/getVariant';\nimport { CustomThemeProvider } from './CustomThemeProvider';\n\n/**\n * Permite crear un componente cuyos estilos pueden ser redefinidos por un\n * usuario final.\n *\n * Esto es así puesto que los estilos definidos serán agregados a un árbol que\n * el usuario puede consultar y sobreescribir. De esta manera los estilos\n * finales del componente serán aquellos definidos en este método pero\n * sobreescritos por los definidos por el usuario si es que existen.\n *\n * **Importante** Para aplicar la variante, se aplica un box alrededor del\n * componente que se está renderizando, con className=\"variant__holder\". En caso\n * de que se quisiera evitar este comportamiento, se debe pasar unwraped = true\n *\n * @param displayName Este parámetro es importante para el debugger de React.\n * @param stylesPath La ruta donde se aplicarán los estilos, es importante asegurarse de que esa ruta ya no está siendo utilizada por otro componente.\n * @param styles Un objeto de estilos de ThemeUI\n * @param Component La definición del componente.\n * @returns Un componente reutilizable y exportable que tiene estilos aplicados.\n */\nexport function makeStyledComponent<T extends object>(\n displayName: string,\n stylesPath: string,\n styles: ThemeUICSSObject,\n Component: FC<T>,\n unwraped = false,\n) {\n return Object.assign(\n (props: T) => {\n const avoidFirstRender = useRef(0);\n const { theme: tuiTheme } = useThemeUI();\n const theme = useMemo(\n () => () => ({\n ...tuiTheme,\n ...setValueByPath({}, stylesPath, styles),\n }),\n [tuiTheme],\n );\n\n if (unwraped) {\n return (\n <CustomThemeProvider customTheme={theme}>\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\n <Suspense>\n <Component {...props} />\n </Suspense>\n </NoThemePrevent>\n </CustomThemeProvider>\n );\n }\n return (\n <CustomThemeProvider customTheme={theme}>\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\n <Box className=\"variant__holder\" {...getVariant(stylesPath)}>\n <Suspense>\n <Component {...props} />\n </Suspense>\n </Box>\n </NoThemePrevent>\n </CustomThemeProvider>\n );\n },\n { displayName },\n );\n}\n\nconst NoThemePrevent = ({\n avoidFirstRender,\n children,\n}: {\n avoidFirstRender: MutableRefObject<number>;\n children: ReactNode;\n}) => {\n // eslint-disable-next-line no-param-reassign\n avoidFirstRender.current++;\n\n if (avoidFirstRender.current <= 1) return null;\n\n return <>{children}</>;\n};\n"],"names":[],"mappings":";;;;;;;AAgCO,SAAS,oBACd,WACA,EAAA,UAAA,EACA,MACA,EAAA,SAAA,EACA,WAAW,KACX,EAAA;AACA,EAAA,OAAO,MAAO,CAAA,MAAA;AAAA,IACZ,CAAC,KAAa,KAAA;AACZ,MAAM,MAAA,gBAAA,GAAmB,OAAO,CAAC,CAAA,CAAA;AACjC,MAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAI,UAAW,EAAA,CAAA;AACvC,MAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,QACZ,MAAM,OAAO;AAAA,UACX,GAAG,QAAA;AAAA,UACH,GAAG,cAAA,CAAe,EAAC,EAAG,YAAY,MAAM,CAAA;AAAA,SAC1C,CAAA;AAAA,QACA,CAAC,QAAQ,CAAA;AAAA,OACX,CAAA;AAEA,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,uBACG,GAAA,CAAA,mBAAA,EAAA,EAAoB,WAAa,EAAA,KAAA,EAChC,8BAAC,cAAe,EAAA,EAAA,gBAAA,EACd,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA,EACC,8BAAC,SAAW,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,EACxB,GACF,CACF,EAAA,CAAA,CAAA;AAAA,OAEJ;AACA,MACE,uBAAA,GAAA,CAAC,mBAAoB,EAAA,EAAA,WAAA,EAAa,KAChC,EAAA,QAAA,kBAAA,GAAA,CAAC,kBAAe,gBACd,EAAA,QAAA,kBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,iBAAmB,EAAA,GAAG,WAAW,UAAU,CAAA,EACxD,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA,EAAW,GAAG,KAAO,EAAA,CAAA,EACxB,CACF,EAAA,CAAA,EACF,CACF,EAAA,CAAA,CAAA;AAAA,KAEJ;AAAA,IACA,EAAE,WAAY,EAAA;AAAA,GAChB,CAAA;AACF,CAAA;AAEA,MAAM,iBAAiB,CAAC;AAAA,EACtB,gBAAA;AAAA,EACA,QAAA;AACF,CAGM,KAAA;AAEJ,EAAiB,gBAAA,CAAA,OAAA,EAAA,CAAA;AAEjB,EAAA,IAAI,iBAAiB,OAAW,IAAA,CAAA;AAAG,IAAO,OAAA,IAAA,CAAA;AAE1C,EAAA,uCAAU,QAAS,EAAA,CAAA,CAAA;AACrB,CAAA;;;;"}
1
+ {"version":3,"file":"makeStyledComponent.js","sources":["../../src/methods/makeStyledComponent.tsx"],"sourcesContent":["import { setValueByPath } from '@apia/util';\r\nimport {\r\n FC,\r\n MutableRefObject,\r\n ReactNode,\r\n Suspense,\r\n useMemo,\r\n useRef,\r\n} from 'react';\r\nimport { ThemeUICSSObject, Box, useThemeUI } from 'theme-ui';\r\nimport { getVariant } from '../util/getVariant';\r\nimport { CustomThemeProvider } from './CustomThemeProvider';\r\n\r\n/**\r\n * Permite crear un componente cuyos estilos pueden ser redefinidos por un\r\n * usuario final.\r\n *\r\n * Esto es así puesto que los estilos definidos serán agregados a un árbol que\r\n * el usuario puede consultar y sobreescribir. De esta manera los estilos\r\n * finales del componente serán aquellos definidos en este método pero\r\n * sobreescritos por los definidos por el usuario si es que existen.\r\n *\r\n * **Importante** Para aplicar la variante, se aplica un box alrededor del\r\n * componente que se está renderizando, con className=\"variant__holder\". En caso\r\n * de que se quisiera evitar este comportamiento, se debe pasar unwraped = true\r\n *\r\n * @param displayName Este parámetro es importante para el debugger de React.\r\n * @param stylesPath La ruta donde se aplicarán los estilos, es importante asegurarse de que esa ruta ya no está siendo utilizada por otro componente.\r\n * @param styles Un objeto de estilos de ThemeUI\r\n * @param Component La definición del componente.\r\n * @returns Un componente reutilizable y exportable que tiene estilos aplicados.\r\n */\r\nexport function makeStyledComponent<T extends object>(\r\n displayName: string,\r\n stylesPath: string,\r\n styles: ThemeUICSSObject,\r\n Component: FC<T>,\r\n unwraped = false,\r\n) {\r\n return Object.assign(\r\n (props: T) => {\r\n const avoidFirstRender = useRef(0);\r\n const { theme: tuiTheme } = useThemeUI();\r\n const theme = useMemo(\r\n () => () => ({\r\n ...tuiTheme,\r\n ...setValueByPath({}, stylesPath, styles),\r\n }),\r\n [tuiTheme],\r\n );\r\n\r\n if (unwraped) {\r\n return (\r\n <CustomThemeProvider customTheme={theme}>\r\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\r\n <Suspense>\r\n <Component {...props} />\r\n </Suspense>\r\n </NoThemePrevent>\r\n </CustomThemeProvider>\r\n );\r\n }\r\n return (\r\n <CustomThemeProvider customTheme={theme}>\r\n <NoThemePrevent avoidFirstRender={avoidFirstRender}>\r\n <Box className=\"variant__holder\" {...getVariant(stylesPath)}>\r\n <Suspense>\r\n <Component {...props} />\r\n </Suspense>\r\n </Box>\r\n </NoThemePrevent>\r\n </CustomThemeProvider>\r\n );\r\n },\r\n { displayName },\r\n );\r\n}\r\n\r\nconst NoThemePrevent = ({\r\n avoidFirstRender,\r\n children,\r\n}: {\r\n avoidFirstRender: MutableRefObject<number>;\r\n children: ReactNode;\r\n}) => {\r\n // eslint-disable-next-line no-param-reassign\r\n avoidFirstRender.current++;\r\n\r\n if (avoidFirstRender.current <= 1) return null;\r\n\r\n return <>{children}</>;\r\n};\r\n"],"names":[],"mappings":";;;;;;;AAgCO,SAAS,oBACd,WACA,EAAA,UAAA,EACA,MACA,EAAA,SAAA,EACA,WAAW,KACX,EAAA;AACA,EAAA,OAAO,MAAO,CAAA,MAAA;AAAA,IACZ,CAAC,KAAa,KAAA;AACZ,MAAM,MAAA,gBAAA,GAAmB,OAAO,CAAC,CAAA,CAAA;AACjC,MAAA,MAAM,EAAE,KAAA,EAAO,QAAS,EAAA,GAAI,UAAW,EAAA,CAAA;AACvC,MAAA,MAAM,KAAQ,GAAA,OAAA;AAAA,QACZ,MAAM,OAAO;AAAA,UACX,GAAG,QAAA;AAAA,UACH,GAAG,cAAA,CAAe,EAAC,EAAG,YAAY,MAAM,CAAA;AAAA,SAC1C,CAAA;AAAA,QACA,CAAC,QAAQ,CAAA;AAAA,OACX,CAAA;AAEA,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,uBACG,GAAA,CAAA,mBAAA,EAAA,EAAoB,WAAa,EAAA,KAAA,EAChC,8BAAC,cAAe,EAAA,EAAA,gBAAA,EACd,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA,EACC,8BAAC,SAAW,EAAA,EAAA,GAAG,KAAO,EAAA,CAAA,EACxB,GACF,CACF,EAAA,CAAA,CAAA;AAAA,OAEJ;AACA,MACE,uBAAA,GAAA,CAAC,mBAAoB,EAAA,EAAA,WAAA,EAAa,KAChC,EAAA,QAAA,kBAAA,GAAA,CAAC,kBAAe,gBACd,EAAA,QAAA,kBAAA,GAAA,CAAC,GAAI,EAAA,EAAA,SAAA,EAAU,iBAAmB,EAAA,GAAG,WAAW,UAAU,CAAA,EACxD,QAAC,kBAAA,GAAA,CAAA,QAAA,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,SAAA,EAAA,EAAW,GAAG,KAAO,EAAA,CAAA,EACxB,CACF,EAAA,CAAA,EACF,CACF,EAAA,CAAA,CAAA;AAAA,KAEJ;AAAA,IACA,EAAE,WAAY,EAAA;AAAA,GAChB,CAAA;AACF,CAAA;AAEA,MAAM,iBAAiB,CAAC;AAAA,EACtB,gBAAA;AAAA,EACA,QAAA;AACF,CAGM,KAAA;AAEJ,EAAiB,gBAAA,CAAA,OAAA,EAAA,CAAA;AAEjB,EAAA,IAAI,iBAAiB,OAAW,IAAA,CAAA;AAAG,IAAO,OAAA,IAAA,CAAA;AAE1C,EAAA,uCAAU,QAAS,EAAA,CAAA,CAAA;AACrB,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/methods/spacingLayout/index.ts"],"sourcesContent":["export const spacingLayouts = [\n 'dense',\n 'clever',\n 'vertical__clever',\n 'horizontal__clever',\n] as const;\n\nexport type TSpacingLayout = (typeof spacingLayouts)[number];\n\nexport function getSpacingLayouts() {\n return {\n '&.dense': {\n px: 0,\n py: 0,\n },\n '&.horizontal__clever': {\n px: 4,\n py: 0,\n },\n '&.vertical__clever': {\n px: 0,\n py: 4,\n },\n '&.clever': {\n px: 4,\n py: 4,\n },\n };\n}\n"],"names":[],"mappings":"AAAO,MAAM,cAAiB,GAAA;AAAA,EAC5B,OAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,oBAAA;AACF,EAAA;AAIO,SAAS,iBAAoB,GAAA;AAClC,EAAO,OAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,sBAAwB,EAAA;AAAA,MACtB,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,oBAAsB,EAAA;AAAA,MACpB,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,UAAY,EAAA;AAAA,MACV,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/methods/spacingLayout/index.ts"],"sourcesContent":["export const spacingLayouts = [\r\n 'dense',\r\n 'clever',\r\n 'vertical__clever',\r\n 'horizontal__clever',\r\n] as const;\r\n\r\nexport type TSpacingLayout = (typeof spacingLayouts)[number];\r\n\r\nexport function getSpacingLayouts() {\r\n return {\r\n '&.dense': {\r\n px: 0,\r\n py: 0,\r\n },\r\n '&.horizontal__clever': {\r\n px: 4,\r\n py: 0,\r\n },\r\n '&.vertical__clever': {\r\n px: 0,\r\n py: 4,\r\n },\r\n '&.clever': {\r\n px: 4,\r\n py: 4,\r\n },\r\n };\r\n}\r\n"],"names":[],"mappings":"AAAO,MAAM,cAAiB,GAAA;AAAA,EAC5B,OAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,oBAAA;AACF,EAAA;AAIO,SAAS,iBAAoB,GAAA;AAClC,EAAO,OAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,sBAAwB,EAAA;AAAA,MACtB,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,oBAAsB,EAAA;AAAA,MACpB,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,IACA,UAAY,EAAA;AAAA,MACV,EAAI,EAAA,CAAA;AAAA,MACJ,EAAI,EAAA,CAAA;AAAA,KACN;AAAA,GACF,CAAA;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMainTheme.js","sources":["../../src/methods/useMainTheme.ts"],"sourcesContent":["import { Theme, ThemeUICSSObject } from 'theme-ui';\nimport merge from 'lodash-es/merge';\nimport { EventEmitter, setValueByPath, useMount } from '@apia/util';\nimport { useRef, useState } from 'react';\nimport { getMainTheme } from './getMainTheme';\nimport { CustomTheme } from '../themeuiExports';\nimport { TCustomPalette, TThemeModifier } from '../base/colors/types';\n\nlet declaredStyles: ThemeUICSSObject = {};\n\nexport function getInjectedStyles() {\n return injectedStyles;\n}\n\nconst injectedStyles: Record<string, ThemeUICSSObject> = {};\n\nclass MainThemeEmitter extends EventEmitter<{\n newStyles: {\n path: string;\n styles: ThemeUICSSObject;\n };\n}> {}\n\nexport const mainThemeEmitter = new MainThemeEmitter();\n\nfunction handleNewStyles(ev: { path: string; styles: ThemeUICSSObject }) {\n injectedStyles[ev.path] = ev.styles;\n}\n\nconst unSubscribe = mainThemeEmitter.on('newStyles', handleNewStyles);\n\nexport function declareStyles(\n path: string,\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\n) {\n const newStyles = {};\n setValueByPath(newStyles, path, styles);\n declaredStyles = merge(declaredStyles, newStyles);\n}\n\nexport function useMainTheme(\n customTheme?: () => CustomTheme,\n customPalette?: TCustomPalette,\n themeModifier?: TThemeModifier,\n) {\n const [theme, setTheme] = useState<Theme>(\n getMainTheme(customTheme, customPalette, themeModifier),\n );\n\n const previousTheme = useRef<(() => CustomTheme) | undefined>(customTheme);\n const previousPalette = useRef<TCustomPalette | undefined>(customPalette);\n\n if (previousTheme.current !== customTheme)\n setTheme(getMainTheme(customTheme));\n\n previousTheme.current = customTheme;\n\n if (previousPalette.current !== customPalette)\n setTheme(getMainTheme(customTheme, customPalette));\n\n previousPalette.current = customPalette;\n\n useMount(() => {\n setTheme((current) => {\n unSubscribe();\n let initialTheme = { ...current };\n Object.entries(injectedStyles).forEach(([path, styles]) => {\n const newStyles = setValueByPath({}, path, styles);\n initialTheme = merge(initialTheme, newStyles);\n });\n return initialTheme;\n });\n return mainThemeEmitter.on('newStyles', (ev) => {\n const newStyles = setValueByPath({}, ev.path, ev.styles);\n setTheme((current) => merge({ ...current }, newStyles));\n });\n });\n\n return theme;\n}\n"],"names":[],"mappings":";;;;;AAcA,MAAM,iBAAmD,EAAC,CAAA;AAE1D,MAAM,yBAAyB,YAK5B,CAAA;AAAC,CAAA;AAES,MAAA,gBAAA,GAAmB,IAAI,gBAAiB,GAAA;AAErD,SAAS,gBAAgB,EAAgD,EAAA;AACvE,EAAe,cAAA,CAAA,EAAA,CAAG,IAAI,CAAA,GAAI,EAAG,CAAA,MAAA,CAAA;AAC/B,CAAA;AAEA,MAAM,WAAc,GAAA,gBAAA,CAAiB,EAAG,CAAA,WAAA,EAAa,eAAe,CAAA,CAAA;AAWpD,SAAA,YAAA,CACd,WACA,EAAA,aAAA,EACA,aACA,EAAA;AACA,EAAM,MAAA,CAAC,KAAO,EAAA,QAAQ,CAAI,GAAA,QAAA;AAAA,IACxB,YAAA,CAAa,WAAa,EAAA,aAAA,EAAe,aAAa,CAAA;AAAA,GACxD,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,OAAwC,WAAW,CAAA,CAAA;AACzE,EAAM,MAAA,eAAA,GAAkB,OAAmC,aAAa,CAAA,CAAA;AAExE,EAAA,IAAI,cAAc,OAAY,KAAA,WAAA;AAC5B,IAAS,QAAA,CAAA,YAAA,CAAa,WAAW,CAAC,CAAA,CAAA;AAEpC,EAAA,aAAA,CAAc,OAAU,GAAA,WAAA,CAAA;AAExB,EAAA,IAAI,gBAAgB,OAAY,KAAA,aAAA;AAC9B,IAAS,QAAA,CAAA,YAAA,CAAa,WAAa,EAAA,aAAa,CAAC,CAAA,CAAA;AAEnD,EAAA,eAAA,CAAgB,OAAU,GAAA,aAAA,CAAA;AAE1B,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,QAAA,CAAS,CAAC,OAAY,KAAA;AACpB,MAAY,WAAA,EAAA,CAAA;AACZ,MAAI,IAAA,YAAA,GAAe,EAAE,GAAG,OAAQ,EAAA,CAAA;AAChC,MAAO,MAAA,CAAA,OAAA,CAAQ,cAAc,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,IAAA,EAAM,MAAM,CAAM,KAAA;AACzD,QAAA,MAAM,SAAY,GAAA,cAAA,CAAe,EAAC,EAAG,MAAM,MAAM,CAAA,CAAA;AACjD,QAAe,YAAA,GAAA,KAAA,CAAM,cAAc,SAAS,CAAA,CAAA;AAAA,OAC7C,CAAA,CAAA;AACD,MAAO,OAAA,YAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAA,OAAO,gBAAiB,CAAA,EAAA,CAAG,WAAa,EAAA,CAAC,EAAO,KAAA;AAC9C,MAAA,MAAM,YAAY,cAAe,CAAA,IAAI,EAAG,CAAA,IAAA,EAAM,GAAG,MAAM,CAAA,CAAA;AACvD,MAAS,QAAA,CAAA,CAAC,YAAY,KAAM,CAAA,EAAE,GAAG,OAAQ,EAAA,EAAG,SAAS,CAAC,CAAA,CAAA;AAAA,KACvD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"useMainTheme.js","sources":["../../src/methods/useMainTheme.ts"],"sourcesContent":["import { Theme, ThemeUICSSObject } from 'theme-ui';\r\nimport merge from 'lodash-es/merge';\r\nimport { EventEmitter, setValueByPath, useMount } from '@apia/util';\r\nimport { useRef, useState } from 'react';\r\nimport { getMainTheme } from './getMainTheme';\r\nimport { CustomTheme } from '../themeuiExports';\r\nimport { TCustomPalette, TThemeModifier } from '../base/colors/types';\r\n\r\nlet declaredStyles: ThemeUICSSObject = {};\r\n\r\nexport function getInjectedStyles() {\r\n return injectedStyles;\r\n}\r\n\r\nconst injectedStyles: Record<string, ThemeUICSSObject> = {};\r\n\r\nclass MainThemeEmitter extends EventEmitter<{\r\n newStyles: {\r\n path: string;\r\n styles: ThemeUICSSObject;\r\n };\r\n}> {}\r\n\r\nexport const mainThemeEmitter = new MainThemeEmitter();\r\n\r\nfunction handleNewStyles(ev: { path: string; styles: ThemeUICSSObject }) {\r\n injectedStyles[ev.path] = ev.styles;\r\n}\r\n\r\nconst unSubscribe = mainThemeEmitter.on('newStyles', handleNewStyles);\r\n\r\nexport function declareStyles(\r\n path: string,\r\n styles: ThemeUICSSObject | Record<string, ThemeUICSSObject>,\r\n) {\r\n const newStyles = {};\r\n setValueByPath(newStyles, path, styles);\r\n declaredStyles = merge(declaredStyles, newStyles);\r\n}\r\n\r\nexport function useMainTheme(\r\n customTheme?: () => CustomTheme,\r\n customPalette?: TCustomPalette,\r\n themeModifier?: TThemeModifier,\r\n) {\r\n const [theme, setTheme] = useState<Theme>(\r\n getMainTheme(customTheme, customPalette, themeModifier),\r\n );\r\n\r\n const previousTheme = useRef<(() => CustomTheme) | undefined>(customTheme);\r\n const previousPalette = useRef<TCustomPalette | undefined>(customPalette);\r\n\r\n if (previousTheme.current !== customTheme)\r\n setTheme(getMainTheme(customTheme));\r\n\r\n previousTheme.current = customTheme;\r\n\r\n if (previousPalette.current !== customPalette)\r\n setTheme(getMainTheme(customTheme, customPalette));\r\n\r\n previousPalette.current = customPalette;\r\n\r\n useMount(() => {\r\n setTheme((current) => {\r\n unSubscribe();\r\n let initialTheme = { ...current };\r\n Object.entries(injectedStyles).forEach(([path, styles]) => {\r\n const newStyles = setValueByPath({}, path, styles);\r\n initialTheme = merge(initialTheme, newStyles);\r\n });\r\n return initialTheme;\r\n });\r\n return mainThemeEmitter.on('newStyles', (ev) => {\r\n const newStyles = setValueByPath({}, ev.path, ev.styles);\r\n setTheme((current) => merge({ ...current }, newStyles));\r\n });\r\n });\r\n\r\n return theme;\r\n}\r\n"],"names":[],"mappings":";;;;;AAcA,MAAM,iBAAmD,EAAC,CAAA;AAE1D,MAAM,yBAAyB,YAK5B,CAAA;AAAC,CAAA;AAES,MAAA,gBAAA,GAAmB,IAAI,gBAAiB,GAAA;AAErD,SAAS,gBAAgB,EAAgD,EAAA;AACvE,EAAe,cAAA,CAAA,EAAA,CAAG,IAAI,CAAA,GAAI,EAAG,CAAA,MAAA,CAAA;AAC/B,CAAA;AAEA,MAAM,WAAc,GAAA,gBAAA,CAAiB,EAAG,CAAA,WAAA,EAAa,eAAe,CAAA,CAAA;AAWpD,SAAA,YAAA,CACd,WACA,EAAA,aAAA,EACA,aACA,EAAA;AACA,EAAM,MAAA,CAAC,KAAO,EAAA,QAAQ,CAAI,GAAA,QAAA;AAAA,IACxB,YAAA,CAAa,WAAa,EAAA,aAAA,EAAe,aAAa,CAAA;AAAA,GACxD,CAAA;AAEA,EAAM,MAAA,aAAA,GAAgB,OAAwC,WAAW,CAAA,CAAA;AACzE,EAAM,MAAA,eAAA,GAAkB,OAAmC,aAAa,CAAA,CAAA;AAExE,EAAA,IAAI,cAAc,OAAY,KAAA,WAAA;AAC5B,IAAS,QAAA,CAAA,YAAA,CAAa,WAAW,CAAC,CAAA,CAAA;AAEpC,EAAA,aAAA,CAAc,OAAU,GAAA,WAAA,CAAA;AAExB,EAAA,IAAI,gBAAgB,OAAY,KAAA,aAAA;AAC9B,IAAS,QAAA,CAAA,YAAA,CAAa,WAAa,EAAA,aAAa,CAAC,CAAA,CAAA;AAEnD,EAAA,eAAA,CAAgB,OAAU,GAAA,aAAA,CAAA;AAE1B,EAAA,QAAA,CAAS,MAAM;AACb,IAAA,QAAA,CAAS,CAAC,OAAY,KAAA;AACpB,MAAY,WAAA,EAAA,CAAA;AACZ,MAAI,IAAA,YAAA,GAAe,EAAE,GAAG,OAAQ,EAAA,CAAA;AAChC,MAAO,MAAA,CAAA,OAAA,CAAQ,cAAc,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAC,IAAA,EAAM,MAAM,CAAM,KAAA;AACzD,QAAA,MAAM,SAAY,GAAA,cAAA,CAAe,EAAC,EAAG,MAAM,MAAM,CAAA,CAAA;AACjD,QAAe,YAAA,GAAA,KAAA,CAAM,cAAc,SAAS,CAAA,CAAA;AAAA,OAC7C,CAAA,CAAA;AACD,MAAO,OAAA,YAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAA,OAAO,gBAAiB,CAAA,EAAA,CAAG,WAAa,EAAA,CAAC,EAAO,KAAA;AAC9C,MAAA,MAAM,YAAY,cAAe,CAAA,IAAI,EAAG,CAAA,IAAA,EAAM,GAAG,MAAM,CAAA,CAAA;AACvD,MAAS,QAAA,CAAA,CAAC,YAAY,KAAM,CAAA,EAAE,GAAG,OAAQ,EAAA,EAAG,SAAS,CAAC,CAAA,CAAA;AAAA,KACvD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../src/util.ts"],"sourcesContent":["import { ResponsiveStyleValue, ThemeUICSSObject } from 'theme-ui';\nimport defaultPalette from './base/colors/defaultPalette';\n\n/**\n * Esta función devuelve un array de valores para los distintos breakpoints.\n *\n * **Importante** Debido a un issue con ThemeUI, es necesario agregar un\n * breakpoint inicial de 0px para las vistas de impresión. El comportamiento por\n * defecto será, si se pasa un valor para el índice 4, esta será tomada como\n * vista de impresión, sino se tomará el valor de mayor índice menor que 4.\n *\n * @example\n *\n * display: responsive({0: 'none', 3: 'block'}) // display: ['block', 'none', null, null, 'block'];\n */\n\nexport function responsive<T>(values: {\n print?: T;\n [key: number]: undefined | T;\n}): ResponsiveStyleValue<T> {\n const returnArray = [];\n const max = 6;\n for (let i = 0; i <= max; i++) returnArray[i + 1] = values[i] ?? null;\n\n if (values.print) returnArray[0] = values.print;\n else {\n for (let i = 5; i >= 0; i--) {\n if (values[i] !== undefined) returnArray[0] = values[i];\n }\n }\n\n return returnArray;\n}\n\n/**\n * Este método permite aplicar espacios (gaps, márgenes y paddings) que se\n * tendrán un comportamiento responsivo por defecto. Esto es, cuando tenemos un\n * padding en una vista de escritorio, probablemente sea demasiado grande al\n * llevarlo a celular. Con esta función se elimina el problema de calcular para\n * cada elemento en forma individual y el problema se convierte en encontrar\n * una única fórmula que quede correcta para todos los breakpoints.\n *\n * @example\n *\n * '.wellPaddedElement': {\n * p: spacing(6),\n * pt: spacing(8)\n * }\n */\nexport function spacing(index: number): ResponsiveStyleValue<number> {\n return defaultPalette.spacing(index) ?? index;\n}\n\nexport const smallButton = {\n py: 2,\n px: 4,\n fontSize: '0.9em',\n};\n\nexport const focusOutline: ThemeUICSSObject = {\n outlineColor: 'outlineColor',\n outlineWidth: '3px',\n outlineStyle: 'solid',\n outlineOffset: '-3px',\n};\n"],"names":[],"mappings":";;AAgBO,SAAS,WAAc,MAGF,EAAA;AAC1B,EAAA,MAAM,cAAc,EAAC,CAAA;AACrB,EAAA,MAAM,GAAM,GAAA,CAAA,CAAA;AACZ,EAAS,KAAA,IAAA,CAAA,GAAI,CAAG,EAAA,CAAA,IAAK,GAAK,EAAA,CAAA,EAAA;AAAK,IAAA,WAAA,CAAY,CAAI,GAAA,CAAC,CAAI,GAAA,MAAA,CAAO,CAAC,CAAK,IAAA,IAAA,CAAA;AAEjE,EAAA,IAAI,MAAO,CAAA,KAAA;AAAO,IAAY,WAAA,CAAA,CAAC,IAAI,MAAO,CAAA,KAAA,CAAA;AAAA,OACrC;AACH,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAK,IAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC3B,MAAI,IAAA,MAAA,CAAO,CAAC,CAAM,KAAA,KAAA,CAAA;AAAW,QAAY,WAAA,CAAA,CAAC,CAAI,GAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAAA,KACxD;AAAA,GACF;AAEA,EAAO,OAAA,WAAA,CAAA;AACT,CAAA;AAiBO,SAAS,QAAQ,KAA6C,EAAA;AACnE,EAAO,OAAA,cAAA,CAAe,OAAQ,CAAA,KAAK,CAAK,IAAA,KAAA,CAAA;AAC1C,CAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB,EAAI,EAAA,CAAA;AAAA,EACJ,EAAI,EAAA,CAAA;AAAA,EACJ,QAAU,EAAA,OAAA;AACZ,EAAA;AAEO,MAAM,YAAiC,GAAA;AAAA,EAC5C,YAAc,EAAA,cAAA;AAAA,EACd,YAAc,EAAA,KAAA;AAAA,EACd,YAAc,EAAA,OAAA;AAAA,EACd,aAAe,EAAA,MAAA;AACjB;;;;"}
1
+ {"version":3,"file":"util.js","sources":["../src/util.ts"],"sourcesContent":["import { ResponsiveStyleValue, ThemeUICSSObject } from 'theme-ui';\r\nimport defaultPalette from './base/colors/defaultPalette';\r\n\r\n/**\r\n * Esta función devuelve un array de valores para los distintos breakpoints.\r\n *\r\n * **Importante** Debido a un issue con ThemeUI, es necesario agregar un\r\n * breakpoint inicial de 0px para las vistas de impresión. El comportamiento por\r\n * defecto será, si se pasa un valor para el índice 4, esta será tomada como\r\n * vista de impresión, sino se tomará el valor de mayor índice menor que 4.\r\n *\r\n * @example\r\n *\r\n * display: responsive({0: 'none', 3: 'block'}) // display: ['block', 'none', null, null, 'block'];\r\n */\r\n\r\nexport function responsive<T>(values: {\r\n print?: T;\r\n [key: number]: undefined | T;\r\n}): ResponsiveStyleValue<T> {\r\n const returnArray = [];\r\n const max = 6;\r\n for (let i = 0; i <= max; i++) returnArray[i + 1] = values[i] ?? null;\r\n\r\n if (values.print) returnArray[0] = values.print;\r\n else {\r\n for (let i = 5; i >= 0; i--) {\r\n if (values[i] !== undefined) returnArray[0] = values[i];\r\n }\r\n }\r\n\r\n return returnArray;\r\n}\r\n\r\n/**\r\n * Este método permite aplicar espacios (gaps, márgenes y paddings) que se\r\n * tendrán un comportamiento responsivo por defecto. Esto es, cuando tenemos un\r\n * padding en una vista de escritorio, probablemente sea demasiado grande al\r\n * llevarlo a celular. Con esta función se elimina el problema de calcular para\r\n * cada elemento en forma individual y el problema se convierte en encontrar\r\n * una única fórmula que quede correcta para todos los breakpoints.\r\n *\r\n * @example\r\n *\r\n * '.wellPaddedElement': {\r\n * p: spacing(6),\r\n * pt: spacing(8)\r\n * }\r\n */\r\nexport function spacing(index: number): ResponsiveStyleValue<number> {\r\n return defaultPalette.spacing(index) ?? index;\r\n}\r\n\r\nexport const smallButton = {\r\n py: 2,\r\n px: 4,\r\n fontSize: '0.9em',\r\n};\r\n\r\nexport const focusOutline: ThemeUICSSObject = {\r\n outlineColor: 'outlineColor',\r\n outlineWidth: '3px',\r\n outlineStyle: 'solid',\r\n outlineOffset: '-3px',\r\n};\r\n"],"names":[],"mappings":";;AAgBO,SAAS,WAAc,MAGF,EAAA;AAC1B,EAAA,MAAM,cAAc,EAAC,CAAA;AACrB,EAAA,MAAM,GAAM,GAAA,CAAA,CAAA;AACZ,EAAS,KAAA,IAAA,CAAA,GAAI,CAAG,EAAA,CAAA,IAAK,GAAK,EAAA,CAAA,EAAA;AAAK,IAAA,WAAA,CAAY,CAAI,GAAA,CAAC,CAAI,GAAA,MAAA,CAAO,CAAC,CAAK,IAAA,IAAA,CAAA;AAEjE,EAAA,IAAI,MAAO,CAAA,KAAA;AAAO,IAAY,WAAA,CAAA,CAAC,IAAI,MAAO,CAAA,KAAA,CAAA;AAAA,OACrC;AACH,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAK,IAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC3B,MAAI,IAAA,MAAA,CAAO,CAAC,CAAM,KAAA,KAAA,CAAA;AAAW,QAAY,WAAA,CAAA,CAAC,CAAI,GAAA,MAAA,CAAO,CAAC,CAAA,CAAA;AAAA,KACxD;AAAA,GACF;AAEA,EAAO,OAAA,WAAA,CAAA;AACT,CAAA;AAiBO,SAAS,QAAQ,KAA6C,EAAA;AACnE,EAAO,OAAA,cAAA,CAAe,OAAQ,CAAA,KAAK,CAAK,IAAA,KAAA,CAAA;AAC1C,CAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB,EAAI,EAAA,CAAA;AAAA,EACJ,EAAI,EAAA,CAAA;AAAA,EACJ,QAAU,EAAA,OAAA;AACZ,EAAA;AAEO,MAAM,YAAiC,GAAA;AAAA,EAC5C,YAAc,EAAA,cAAA;AAAA,EACd,YAAc,EAAA,KAAA;AAAA,EACd,YAAc,EAAA,OAAA;AAAA,EACd,aAAe,EAAA,MAAA;AACjB;;;;"}
@@ -1,3 +1,3 @@
1
- export { Fragment } from 'react';
2
- export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
3
- export type { JSX } from '@theme-ui/core/jsx-runtime';
1
+ export { Fragment } from 'react';
2
+ export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
3
+ export type { JSX } from '@theme-ui/core/jsx-runtime';
@@ -1,2 +1,2 @@
1
- export { Fragment } from 'react';
2
- export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
1
+ export { Fragment } from 'react';
2
+ export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
@@ -1,2 +1,2 @@
1
- export * from "./jsx-runtime";
2
- //# sourceMappingURL=theme-ui-jsx-runtime.cjs.d.ts.map
1
+ export * from "./jsx-runtime";
2
+ //# sourceMappingURL=theme-ui-jsx-runtime.cjs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-ui-jsx-runtime.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/jsx-runtime.d.ts"],"names":[],"mappings":"AAAA"}
1
+ {"version":3,"file":"theme-ui-jsx-runtime.cjs.d.ts","sourceRoot":"","sources":["../../dist/declarations/src/jsx-runtime.d.ts"],"names":[],"mappings":"AAAA"}
@@ -1,21 +1,21 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var react = require('react');
6
- var jsxRuntime = require('@theme-ui/core/jsx-runtime');
7
-
8
-
9
-
10
- Object.defineProperty(exports, 'Fragment', {
11
- enumerable: true,
12
- get: function () { return react.Fragment; }
13
- });
14
- Object.defineProperty(exports, 'jsx', {
15
- enumerable: true,
16
- get: function () { return jsxRuntime.jsx; }
17
- });
18
- Object.defineProperty(exports, 'jsxs', {
19
- enumerable: true,
20
- get: function () { return jsxRuntime.jsxs; }
21
- });
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var jsxRuntime = require('@theme-ui/core/jsx-runtime');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, 'Fragment', {
11
+ enumerable: true,
12
+ get: function () { return react.Fragment; }
13
+ });
14
+ Object.defineProperty(exports, 'jsx', {
15
+ enumerable: true,
16
+ get: function () { return jsxRuntime.jsx; }
17
+ });
18
+ Object.defineProperty(exports, 'jsxs', {
19
+ enumerable: true,
20
+ get: function () { return jsxRuntime.jsxs; }
21
+ });
@@ -1,7 +1,7 @@
1
- 'use strict';
2
-
3
- if (process.env.NODE_ENV === "production") {
4
- module.exports = require("./theme-ui-jsx-runtime.cjs.prod.js");
5
- } else {
6
- module.exports = require("./theme-ui-jsx-runtime.cjs.dev.js");
7
- }
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === "production") {
4
+ module.exports = require("./theme-ui-jsx-runtime.cjs.prod.js");
5
+ } else {
6
+ module.exports = require("./theme-ui-jsx-runtime.cjs.dev.js");
7
+ }
@@ -1,21 +1,21 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var react = require('react');
6
- var jsxRuntime = require('@theme-ui/core/jsx-runtime');
7
-
8
-
9
-
10
- Object.defineProperty(exports, 'Fragment', {
11
- enumerable: true,
12
- get: function () { return react.Fragment; }
13
- });
14
- Object.defineProperty(exports, 'jsx', {
15
- enumerable: true,
16
- get: function () { return jsxRuntime.jsx; }
17
- });
18
- Object.defineProperty(exports, 'jsxs', {
19
- enumerable: true,
20
- get: function () { return jsxRuntime.jsxs; }
21
- });
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var jsxRuntime = require('@theme-ui/core/jsx-runtime');
7
+
8
+
9
+
10
+ Object.defineProperty(exports, 'Fragment', {
11
+ enumerable: true,
12
+ get: function () { return react.Fragment; }
13
+ });
14
+ Object.defineProperty(exports, 'jsx', {
15
+ enumerable: true,
16
+ get: function () { return jsxRuntime.jsx; }
17
+ });
18
+ Object.defineProperty(exports, 'jsxs', {
19
+ enumerable: true,
20
+ get: function () { return jsxRuntime.jsxs; }
21
+ });
@@ -1,2 +1,2 @@
1
- export { Fragment } from 'react';
2
- export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
1
+ export { Fragment } from 'react';
2
+ export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
@@ -1,2 +1,2 @@
1
- export { Fragment } from 'react';
2
- export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
1
+ export { Fragment } from 'react';
2
+ export { jsx, jsxs } from '@theme-ui/core/jsx-runtime';
@@ -1,8 +1,8 @@
1
- {
2
- "main": "dist/theme-ui-jsx-runtime.cjs.js",
3
- "module": "dist/theme-ui-jsx-runtime.esm.js",
4
- "browser": {
5
- "./dist/theme-ui-jsx-runtime.esm.js": "./dist/theme-ui-jsx-runtime.browser.esm.js"
6
- },
7
- "types": "dist/theme-ui-jsx-runtime.cjs.d.ts"
8
- }
1
+ {
2
+ "main": "dist/theme-ui-jsx-runtime.cjs.js",
3
+ "module": "dist/theme-ui-jsx-runtime.esm.js",
4
+ "browser": {
5
+ "./dist/theme-ui-jsx-runtime.esm.js": "./dist/theme-ui-jsx-runtime.browser.esm.js"
6
+ },
7
+ "types": "dist/theme-ui-jsx-runtime.cjs.d.ts"
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apia/theme",
3
- "version": "2.0.5",
3
+ "version": "2.0.8",
4
4
  "sideEffects": false,
5
5
  "author": "Alexis Leite <alexisleite@live.com>",
6
6
  "main": "dist/index.js",
@@ -52,5 +52,5 @@
52
52
  "access": "public",
53
53
  "registry": "https://registry.npmjs.org/"
54
54
  },
55
- "gitHead": "75acc7e5b31894d8731ea7c986743c8a72f8aa86"
55
+ "gitHead": "7081b9e9d30efe218f23e835d29737aab3c89824"
56
56
  }