@7pmlabs/design-system 0.7.0 → 0.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/design-system10.mjs +8 -8
  2. package/dist/design-system10.mjs.map +1 -1
  3. package/dist/design-system101.mjs.map +1 -1
  4. package/dist/design-system102.mjs +16 -16
  5. package/dist/design-system105.mjs +9 -9
  6. package/dist/design-system106.mjs.map +1 -1
  7. package/dist/design-system107.mjs.map +1 -1
  8. package/dist/design-system108.mjs +16 -16
  9. package/dist/design-system109.mjs +16 -16
  10. package/dist/design-system11.mjs.map +1 -1
  11. package/dist/design-system111.mjs +16 -16
  12. package/dist/design-system111.mjs.map +1 -1
  13. package/dist/design-system112.mjs.map +1 -1
  14. package/dist/design-system114.mjs.map +1 -1
  15. package/dist/design-system116.mjs +1 -1
  16. package/dist/design-system117.mjs +1 -1
  17. package/dist/design-system118.mjs +5 -5
  18. package/dist/design-system118.mjs.map +1 -1
  19. package/dist/design-system12.mjs.map +1 -1
  20. package/dist/design-system123.mjs.map +1 -1
  21. package/dist/design-system125.mjs +7 -4
  22. package/dist/design-system125.mjs.map +1 -1
  23. package/dist/design-system126.mjs +5 -8
  24. package/dist/design-system126.mjs.map +1 -1
  25. package/dist/design-system127.mjs +6 -6
  26. package/dist/design-system127.mjs.map +1 -1
  27. package/dist/design-system13.mjs.map +1 -1
  28. package/dist/design-system14.mjs.map +1 -1
  29. package/dist/design-system15.mjs.map +1 -1
  30. package/dist/design-system16.mjs.map +1 -1
  31. package/dist/design-system17.mjs +170 -146
  32. package/dist/design-system17.mjs.map +1 -1
  33. package/dist/design-system18.mjs.map +1 -1
  34. package/dist/design-system19.mjs +64 -64
  35. package/dist/design-system19.mjs.map +1 -1
  36. package/dist/design-system20.mjs +78 -78
  37. package/dist/design-system20.mjs.map +1 -1
  38. package/dist/design-system21.mjs.map +1 -1
  39. package/dist/design-system22.mjs.map +1 -1
  40. package/dist/design-system23.mjs.map +1 -1
  41. package/dist/design-system24.mjs.map +1 -1
  42. package/dist/design-system25.mjs.map +1 -1
  43. package/dist/design-system40.mjs +46 -46
  44. package/dist/design-system40.mjs.map +1 -1
  45. package/dist/design-system43.mjs +10 -10
  46. package/dist/design-system45.mjs.map +1 -1
  47. package/dist/design-system49.mjs +2 -2
  48. package/dist/design-system49.mjs.map +1 -1
  49. package/dist/design-system51.mjs +68 -68
  50. package/dist/design-system51.mjs.map +1 -1
  51. package/dist/design-system54.mjs.map +1 -1
  52. package/dist/design-system57.mjs.map +1 -1
  53. package/dist/design-system64.mjs +10 -10
  54. package/dist/design-system64.mjs.map +1 -1
  55. package/dist/design-system66.mjs.map +1 -1
  56. package/dist/design-system72.mjs.map +1 -1
  57. package/dist/design-system76.mjs.map +1 -1
  58. package/dist/design-system79.mjs.map +1 -1
  59. package/dist/design-system83.mjs +43 -43
  60. package/dist/design-system83.mjs.map +1 -1
  61. package/dist/design-system85.mjs +75 -75
  62. package/dist/design-system85.mjs.map +1 -1
  63. package/dist/design-system88.mjs.map +1 -1
  64. package/dist/design-system90.mjs.map +1 -1
  65. package/dist/design-system95.mjs +42 -42
  66. package/dist/design-system95.mjs.map +1 -1
  67. package/dist/design-system96.mjs +2 -2
  68. package/dist/design-system96.mjs.map +1 -1
  69. package/dist/design-system97.mjs +1 -1
  70. package/dist/design-system97.mjs.map +1 -1
  71. package/dist/design-system98.mjs +12 -12
  72. package/dist/design-system98.mjs.map +1 -1
  73. package/dist/design-system99.mjs.map +1 -1
  74. package/dist/style.css +1 -1
  75. package/dist/types/components/BBreadcrumb/BBreadcrumb.vue.d.ts +4 -4
  76. package/dist/types/components/BBreadcrumb/BBreadcrumbSeparator.vue.d.ts +1 -1
  77. package/dist/types/components/BButton.vue.d.ts +4 -4
  78. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +6 -6
  79. package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +1 -1
  80. package/dist/types/components/BCheckbox.vue.d.ts +5 -5
  81. package/dist/types/components/BCollapse.vue.d.ts +3 -3
  82. package/dist/types/components/BCurrencyField.vue.d.ts +6 -6
  83. package/dist/types/components/BDatePicker/BDatePicker.vue.d.ts +6 -6
  84. package/dist/types/components/BDatePicker/BDatePickerButtonNext.vue.d.ts +1 -1
  85. package/dist/types/components/BDatePicker/BDatePickerButtonPrevious.vue.d.ts +1 -1
  86. package/dist/types/components/BDatePicker/BDatePickerGridDate.vue.d.ts +3 -3
  87. package/dist/types/components/BDatePicker/BDatePickerGridDateRange.vue.d.ts +3 -3
  88. package/dist/types/components/BDatePicker/BDatePickerGridMonth.vue.d.ts +3 -3
  89. package/dist/types/components/BDatePicker/BDatePickerGridYear.vue.d.ts +3 -3
  90. package/dist/types/components/BDatePicker/BDatePickerHeading.vue.d.ts +1 -1
  91. package/dist/types/components/BDatePicker/BDatePickerIcon.vue.d.ts +1 -1
  92. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +5 -5
  93. package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +1 -1
  94. package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +4 -4
  95. package/dist/types/components/BErrorMessage.vue.d.ts +4 -4
  96. package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +7 -7
  97. package/dist/types/components/BImagePicker/BImagePickerCloseButton.vue.d.ts +1 -1
  98. package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +3 -3
  99. package/dist/types/components/BLabel.vue.d.ts +5 -5
  100. package/dist/types/components/BLoadingBar.vue.d.ts +4 -4
  101. package/dist/types/components/BLoadingOverlay.vue.d.ts +4 -4
  102. package/dist/types/components/BModal/BModal.vue.d.ts +5 -5
  103. package/dist/types/components/BModal/BModalBody.vue.d.ts +1 -1
  104. package/dist/types/components/BModal/BModalContainer.vue.d.ts +5 -5
  105. package/dist/types/components/BModal/BModalFooter.vue.d.ts +1 -1
  106. package/dist/types/components/BModal/BModalHeader.vue.d.ts +1 -1
  107. package/dist/types/components/BMultiSelect.vue.d.ts +9 -9
  108. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +7 -7
  109. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +7 -7
  110. package/dist/types/components/BOverlay.vue.d.ts +1 -1
  111. package/dist/types/components/BPagination.vue.d.ts +5 -5
  112. package/dist/types/components/BRadio.vue.d.ts +6 -6
  113. package/dist/types/components/BSelect.vue.d.ts +9 -9
  114. package/dist/types/components/BStepper.vue.d.ts +3 -3
  115. package/dist/types/components/BSwitch.vue.d.ts +5 -5
  116. package/dist/types/components/BTabs/BTab.vue.d.ts +1 -1
  117. package/dist/types/components/BTabs/BTabs.vue.d.ts +5 -5
  118. package/dist/types/components/BTextField.vue.d.ts +8 -8
  119. package/dist/types/components/BTextarea.vue.d.ts +7 -7
  120. package/dist/types/components/BTimeline/BTimeline.vue.d.ts +1 -1
  121. package/dist/types/components/BTimeline/BTimelineItem.vue.d.ts +1 -1
  122. package/dist/types/components/BToast/BToast.vue.d.ts +3 -3
  123. package/dist/types/components/BToast/BToastItem.vue.d.ts +6 -6
  124. package/dist/types/components/BTooltip.vue.d.ts +6 -6
  125. package/dist/types/composables/Validation.d.ts +6 -1
  126. package/dist/types/constants/Common.d.ts +2 -2
  127. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"design-system97.mjs","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js"],"sourcesContent":["/*!\n * message-compiler v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference types=\"source-map-js\" />\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n"],"names":["createPosition","line","column","offset","createLocation","start","end","source","loc","RE_ARGS","format","message","args","isObject","match","identifier","assign","isString","val","join","items","separator","str","item","index","CompileWarnCodes","warnMessages","createCompileWarn","code","msg","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system97.mjs","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js"],"sourcesContent":["/*!\n * message-compiler v9.14.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference types=\"source-map-js\" />\nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n"],"names":["createPosition","line","column","offset","createLocation","start","end","source","loc","RE_ARGS","format","message","args","isObject","match","identifier","assign","isString","val","join","items","separator","str","item","index","CompileWarnCodes","warnMessages","createCompileWarn","code","msg","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,18 +1,18 @@
1
- import e from "./design-system125.mjs";
2
- import i from "./design-system126.mjs";
3
- import { unsafeStringify as d } from "./design-system127.mjs";
4
- function g(n, m, t) {
5
- if (e.randomUUID && !m && !n)
1
+ import e from "./design-system126.mjs";
2
+ import f from "./design-system127.mjs";
3
+ import { unsafeStringify as t } from "./design-system125.mjs";
4
+ function g(n, a, d) {
5
+ if (e.randomUUID && !a && !n)
6
6
  return e.randomUUID();
7
7
  n = n || {};
8
- const r = n.random || (n.rng || i)();
9
- if (r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, m) {
10
- t = t || 0;
11
- for (let a = 0; a < 16; ++a)
12
- m[t + a] = r[a];
13
- return m;
8
+ var r = n.random || (n.rng || f)();
9
+ if (r[6] = r[6] & 15 | 64, r[8] = r[8] & 63 | 128, a) {
10
+ d = d || 0;
11
+ for (var m = 0; m < 16; ++m)
12
+ a[d + m] = r[m];
13
+ return a;
14
14
  }
15
- return d(r);
15
+ return t(r);
16
16
  }
17
17
  export {
18
18
  g as default
@@ -1 +1 @@
1
- {"version":3,"file":"design-system98.mjs","sources":["../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;"],"names":["v4","options","buf","offset","native","rnds","rng","i","unsafeStringify"],"mappings":";;;AAIA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,MAAIC,EAAO,cAAc,CAACF,KAAO,CAACD;AAChC,WAAOG,EAAO;AAGhB,EAAAH,IAAUA,KAAW;AACrB,QAAMI,IAAOJ,EAAQ,WAAWA,EAAQ,OAAOK;AAK/C,MAHAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAEvBH,GAAK;AACP,IAAAC,IAASA,KAAU;AAEnB,aAASI,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAL,EAAIC,IAASI,CAAC,IAAIF,EAAKE,CAAC;AAG1B,WAAOL;AAAA,EACR;AAED,SAAOM,EAAgBH,CAAI;AAC7B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system98.mjs","sources":["../node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;"],"names":["v4","options","buf","offset","native","rnds","rng","i","unsafeStringify"],"mappings":";;;AAGA,SAASA,EAAGC,GAASC,GAAKC,GAAQ;AAChC,MAAIC,EAAO,cAAc,CAACF,KAAO,CAACD;AAChC,WAAOG,EAAO;AAEhB,EAAAH,IAAUA,KAAW;AACrB,MAAII,IAAOJ,EAAQ,WAAWA,EAAQ,OAAOK;AAO7C,MAJAD,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,IAC3BA,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAI,KAAO,KAGvBH,GAAK;AACP,IAAAC,IAASA,KAAU;AACnB,aAASI,IAAI,GAAGA,IAAI,IAAI,EAAEA;AACxB,MAAAL,EAAIC,IAASI,CAAC,IAAIF,EAAKE,CAAC;AAE1B,WAAOL;AAAA,EACR;AACD,SAAOM,EAAgBH,CAAI;AAC7B;","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"design-system99.mjs","sources":["../src/components/BOtpField/BOtpFieldBox.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\"]\n\nimport { onMounted, ref, type Ref, watch } from 'vue';\n\n//#region Props\nexport interface Props {\n value?: string;\n focus?: boolean;\n isDisabled?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BOtpFieldBox',\n props: {\n value: { default: '' },\n focus: { type: Boolean, default: false },\n isDisabled: { type: Boolean, default: false }\n },\n emits: [\"on-change\", \"on-keydown\", \"on-keyup\", \"on-paste\", \"on-focus\", \"on-blur\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst model = ref(props.value || '');\nconst inputRef = ref<HTMLInputElement | null>(null) as Ref<HTMLInputElement>;\nconst digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n//#endregion\n\n//#region Methods\nconst handleOnChange = () => {\n if (!digits.includes(model.value)) {\n model.value = '';\n return;\n }\n\n model.value = model.value.toString();\n if (model.value.length > 1) {\n model.value = model.value.slice(0, 1);\n }\n return emit('on-change', model.value);\n};\n\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n if (props.isDisabled) {\n event.preventDefault();\n }\n // Only allow characters 0-9, DEL, Backspace, Enter, Right and Left Arrows, and Pasting\n const keyEvent = event;\n if (\n [\n 'Alt',\n 'Control',\n 'Meta',\n 'Backspace',\n 'ArrowLeft',\n 'ArrowRight',\n 'v',\n ...digits,\n ].includes(keyEvent.key)\n ) {\n emit('on-keydown', event);\n } else {\n keyEvent.preventDefault();\n }\n};\nconst handleOnKeyUp = (event: KeyboardEvent) => {\n emit('on-keyup', event);\n};\nconst handleOnPaste = (event: ClipboardEvent) => {\n emit('on-paste', event);\n};\nconst handleOnFocus = () => {\n inputRef.value.select();\n return emit('on-focus');\n};\nconst handleOnBlur = () => emit('on-blur');\nconst focusFn = () => {\n inputRef.value.focus();\n inputRef.value.select();\n};\n//#endregion\n\n//#region Watchers\nwatch(\n () => props.value,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n model.value = newValue;\n }\n },\n);\nwatch(\n () => props.focus,\n (newFocusValue, oldFocusValue) => {\n // Check if focusedInput changed\n // Prevent calling function if input already in focus\n if (oldFocusValue !== newFocusValue && inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n },\n);\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n});\n//#endregion\n\n__expose({ focus: focusFn });\n\nreturn (_ctx: any,_cache: any) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((model).value = $event)),\n disabled: _ctx.isDisabled,\n class: \"ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200\",\n inputmode: \"numeric\",\n maxlength: \"1\",\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n onInput: handleOnChange,\n onKeydown: handleOnKeyDown,\n onKeyup: handleOnKeyUp,\n onPaste: handleOnPaste\n }, null, 40, _hoisted_1)), [\n [_vModelText, model.value]\n ])\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","model","ref","inputRef","digits","handleOnChange","handleOnKeyDown","event","keyEvent","handleOnKeyUp","handleOnPaste","handleOnFocus","handleOnBlur","focusFn","watch","newValue","oldValue","newFocusValue","oldFocusValue","onMounted","_ctx","_cache","_withDirectives","_openBlock","_createElementBlock","$event","_vModelText"],"mappings":"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"}
1
+ {"version":3,"file":"design-system99.mjs","sources":["../src/components/BOtpField/BOtpFieldBox.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"disabled\"]\n\nimport { onMounted, ref, type Ref, watch } from 'vue';\n\n//#region Props\nexport interface Props {\n value?: string;\n focus?: boolean;\n isDisabled?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BOtpFieldBox',\n props: {\n value: { default: '' },\n focus: { type: Boolean, default: false },\n isDisabled: { type: Boolean, default: false }\n },\n emits: [\"on-change\", \"on-keydown\", \"on-keyup\", \"on-paste\", \"on-focus\", \"on-blur\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst model = ref(props.value || '');\nconst inputRef = ref<HTMLInputElement | null>(null) as Ref<HTMLInputElement>;\nconst digits = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];\n//#endregion\n\n//#region Methods\nconst handleOnChange = () => {\n if (!digits.includes(model.value)) {\n model.value = '';\n return;\n }\n\n model.value = model.value.toString();\n if (model.value.length > 1) {\n model.value = model.value.slice(0, 1);\n }\n return emit('on-change', model.value);\n};\n\nconst handleOnKeyDown = (event: KeyboardEvent) => {\n if (props.isDisabled) {\n event.preventDefault();\n }\n // Only allow characters 0-9, DEL, Backspace, Enter, Right and Left Arrows, and Pasting\n const keyEvent = event;\n if (\n [\n 'Alt',\n 'Control',\n 'Meta',\n 'Backspace',\n 'ArrowLeft',\n 'ArrowRight',\n 'v',\n ...digits,\n ].includes(keyEvent.key)\n ) {\n emit('on-keydown', event);\n } else {\n keyEvent.preventDefault();\n }\n};\nconst handleOnKeyUp = (event: KeyboardEvent) => {\n emit('on-keyup', event);\n};\nconst handleOnPaste = (event: ClipboardEvent) => {\n emit('on-paste', event);\n};\nconst handleOnFocus = () => {\n inputRef.value.select();\n return emit('on-focus');\n};\nconst handleOnBlur = () => emit('on-blur');\nconst focusFn = () => {\n inputRef.value.focus();\n inputRef.value.select();\n};\n//#endregion\n\n//#region Watchers\nwatch(\n () => props.value,\n (newValue, oldValue) => {\n if (newValue !== oldValue) {\n model.value = newValue;\n }\n },\n);\nwatch(\n () => props.focus,\n (newFocusValue, oldFocusValue) => {\n // Check if focusedInput changed\n // Prevent calling function if input already in focus\n if (oldFocusValue !== newFocusValue && inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n },\n);\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n if (inputRef.value && props.focus) {\n inputRef.value.focus();\n inputRef.value.select();\n }\n});\n//#endregion\n\n__expose({ focus: focusFn });\n\nreturn (_ctx: any,_cache: any) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"input\", {\n ref_key: \"inputRef\",\n ref: inputRef,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((model).value = $event)),\n disabled: _ctx.isDisabled,\n class: \"ds-h-11 ds-w-11 ds-rounded-lg ds-border ds-text-center ds-drop-shadow-light ds-transition-all ds-duration-200\",\n inputmode: \"numeric\",\n maxlength: \"1\",\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n onInput: handleOnChange,\n onKeydown: handleOnKeyDown,\n onKeyup: handleOnKeyUp,\n onPaste: handleOnPaste\n }, null, 40, _hoisted_1)), [\n [_vModelText, model.value]\n ])\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","model","ref","inputRef","digits","handleOnChange","handleOnKeyDown","event","keyEvent","handleOnKeyUp","handleOnPaste","handleOnFocus","handleOnBlur","focusFn","watch","newValue","oldValue","newFocusValue","oldFocusValue","onMounted","_ctx","_cache","_withDirectives","_openBlock","_createElementBlock","$event","_vModelText"],"mappings":"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"}