@aquera/nile-elements 1.6.3 → 1.6.4

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 (179) hide show
  1. package/README.md +8 -0
  2. package/demo/variables.css +1 -0
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +30 -10
  6. package/dist/nile-badge/index.cjs.js +1 -1
  7. package/dist/nile-badge/index.esm.js +1 -1
  8. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  9. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  10. package/dist/nile-badge/nile-badge.esm.js +1 -1
  11. package/dist/nile-button/index.cjs.js +1 -1
  12. package/dist/nile-button/index.esm.js +1 -1
  13. package/dist/nile-button/nile-button.cjs.js +1 -1
  14. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  15. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  17. package/dist/nile-button/nile-button.css.esm.js +5 -0
  18. package/dist/nile-button/nile-button.esm.js +1 -1
  19. package/dist/nile-carousel/index.cjs.js +1 -1
  20. package/dist/nile-carousel/index.esm.js +1 -1
  21. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  22. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  23. package/dist/nile-carousel/nile-carousel.esm.js +1 -1
  24. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  25. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  26. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  27. package/dist/nile-dialog/index.cjs.js +1 -1
  28. package/dist/nile-dialog/index.esm.js +1 -1
  29. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  31. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  32. package/dist/nile-drawer/index.cjs.js +1 -1
  33. package/dist/nile-drawer/index.esm.js +1 -1
  34. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  35. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  36. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  37. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js +2 -0
  38. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js.map +1 -0
  39. package/dist/nile-icon/icons/svg/arrow-left-small.esm.js +1 -0
  40. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js +2 -0
  41. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js.map +1 -0
  42. package/dist/nile-icon/icons/svg/arrow-right-small.esm.js +1 -0
  43. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js +2 -0
  44. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js.map +1 -0
  45. package/dist/nile-icon/icons/svg/arrow_left_small.esm.js +1 -0
  46. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js +2 -0
  47. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js.map +1 -0
  48. package/dist/nile-icon/icons/svg/arrow_right_small.esm.js +1 -0
  49. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  50. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  51. package/dist/nile-icon/index.cjs.js +1 -1
  52. package/dist/nile-icon/index.cjs.js.map +1 -1
  53. package/dist/nile-icon/index.esm.js +1 -1
  54. package/dist/nile-icon-button/index.cjs.js +1 -1
  55. package/dist/nile-icon-button/index.esm.js +1 -1
  56. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  57. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  58. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  59. package/dist/nile-input/index.cjs.js +1 -1
  60. package/dist/nile-input/index.esm.js +1 -1
  61. package/dist/nile-input/nile-input.cjs.js +1 -1
  62. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  63. package/dist/nile-input/nile-input.esm.js +1 -1
  64. package/dist/nile-menu-item/index.cjs.js +1 -1
  65. package/dist/nile-menu-item/index.esm.js +1 -1
  66. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  67. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  68. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  69. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  70. package/dist/nile-menu-item/nile-menu-item.css.esm.js +11 -2
  71. package/dist/nile-menu-item/nile-menu-item.esm.js +3 -3
  72. package/dist/nile-option/index.cjs.js +1 -1
  73. package/dist/nile-option/index.esm.js +1 -1
  74. package/dist/nile-option/nile-option.cjs.js +1 -1
  75. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  76. package/dist/nile-option/nile-option.esm.js +5 -5
  77. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  78. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  79. package/dist/nile-pagination/nile-pagination.css.esm.js +6 -0
  80. package/dist/nile-radio-group/index.cjs.js +1 -1
  81. package/dist/nile-radio-group/index.esm.js +1 -1
  82. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  83. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  84. package/dist/nile-radio-group/nile-radio-group.esm.js +2 -2
  85. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js +1 -1
  86. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js.map +1 -1
  87. package/dist/nile-rich-text-editor/utils/list-utils.esm.js +1 -1
  88. package/dist/nile-select/index.cjs.js +1 -1
  89. package/dist/nile-select/index.esm.js +1 -1
  90. package/dist/nile-select/nile-select.cjs.js +1 -1
  91. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  92. package/dist/nile-select/nile-select.esm.js +1 -1
  93. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  94. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  95. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  96. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  97. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  98. package/dist/nile-tab/index.cjs.js +1 -1
  99. package/dist/nile-tab/index.esm.js +1 -1
  100. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  101. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  102. package/dist/nile-tab/nile-tab.esm.js +1 -1
  103. package/dist/nile-tab-group/index.cjs.js +1 -1
  104. package/dist/nile-tab-group/index.esm.js +1 -1
  105. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  106. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  107. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  108. package/dist/nile-tag/index.cjs.js +1 -1
  109. package/dist/nile-tag/index.esm.js +1 -1
  110. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  111. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  112. package/dist/nile-tag/nile-tag.esm.js +1 -1
  113. package/dist/nile-toast/index.cjs.js +1 -1
  114. package/dist/nile-toast/index.esm.js +1 -1
  115. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  116. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  117. package/dist/nile-toast/nile-toast.esm.js +2 -2
  118. package/dist/nile-tree/index.cjs.js +1 -1
  119. package/dist/nile-tree/index.esm.js +1 -1
  120. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  121. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  122. package/dist/nile-tree/nile-tree.esm.js +1 -1
  123. package/dist/nile-tree-item/index.cjs.js +1 -1
  124. package/dist/nile-tree-item/index.esm.js +1 -1
  125. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  126. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  127. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  128. package/dist/nile-virtual-select/index.cjs.js +1 -1
  129. package/dist/nile-virtual-select/index.esm.js +1 -1
  130. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +3 -3
  131. package/dist/nile-virtual-select/nile-virtual-select.esm.js +3 -3
  132. package/dist/src/nile-button/nile-button.css.js +5 -0
  133. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  134. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  135. package/dist/src/nile-code-editor/nile-code-editor.js +1 -7
  136. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  137. package/dist/src/nile-icon/icons/svg/arrow-left-small.d.ts +5 -0
  138. package/dist/src/nile-icon/icons/svg/arrow-left-small.js +5 -0
  139. package/dist/src/nile-icon/icons/svg/arrow-left-small.js.map +1 -0
  140. package/dist/src/nile-icon/icons/svg/arrow-right-small.d.ts +5 -0
  141. package/dist/src/nile-icon/icons/svg/arrow-right-small.js +5 -0
  142. package/dist/src/nile-icon/icons/svg/arrow-right-small.js.map +1 -0
  143. package/dist/src/nile-icon/icons/svg/arrow_left_small.d.ts +5 -0
  144. package/dist/src/nile-icon/icons/svg/arrow_left_small.js +5 -0
  145. package/dist/src/nile-icon/icons/svg/arrow_left_small.js.map +1 -0
  146. package/dist/src/nile-icon/icons/svg/arrow_right_small.d.ts +5 -0
  147. package/dist/src/nile-icon/icons/svg/arrow_right_small.js +5 -0
  148. package/dist/src/nile-icon/icons/svg/arrow_right_small.js.map +1 -0
  149. package/dist/src/nile-icon/icons/svg/index.d.ts +4 -0
  150. package/dist/src/nile-icon/icons/svg/index.js +4 -0
  151. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  152. package/dist/src/nile-menu-item/nile-menu-item.css.js +11 -2
  153. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  154. package/dist/src/nile-menu-item/nile-menu-item.d.ts +2 -0
  155. package/dist/src/nile-menu-item/nile-menu-item.js +7 -1
  156. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  157. package/dist/src/nile-pagination/nile-pagination.css.js +6 -0
  158. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  159. package/dist/src/nile-radio-group/nile-radio-group.js +7 -0
  160. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  161. package/dist/src/nile-rich-text-editor/utils/list-utils.js +0 -1
  162. package/dist/src/nile-rich-text-editor/utils/list-utils.js.map +1 -1
  163. package/dist/src/version.js +2 -2
  164. package/dist/src/version.js.map +1 -1
  165. package/dist/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +1 -1
  167. package/src/nile-button/nile-button.css.ts +5 -0
  168. package/src/nile-code-editor/nile-code-editor.ts +1 -7
  169. package/src/nile-icon/icons/svg/arrow-left-small.ts +5 -0
  170. package/src/nile-icon/icons/svg/arrow-right-small.ts +5 -0
  171. package/src/nile-icon/icons/svg/arrow_left_small.ts +5 -0
  172. package/src/nile-icon/icons/svg/arrow_right_small.ts +5 -0
  173. package/src/nile-icon/icons/svg/index.ts +4 -0
  174. package/src/nile-menu-item/nile-menu-item.css.ts +11 -2
  175. package/src/nile-menu-item/nile-menu-item.ts +5 -1
  176. package/src/nile-pagination/nile-pagination.css.ts +6 -0
  177. package/src/nile-radio-group/nile-radio-group.ts +7 -0
  178. package/src/nile-rich-text-editor/utils/list-utils.ts +1 -2
  179. package/vscode-html-custom-data.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-radio-group.cjs.js","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n if (this.disabled) return;\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n if (this.disabled) {\n radios.forEach(r => (r.tabIndex = -1));\n return;\n }\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"],"names":["NileRadioGroup","_h","c","this","hasSlotController","HasSlotController","customValidityMessage","hasButtonGroup","defaultValue","label","name","value","form","required","labelInline","disabled","helpText","errorMessage","islabelborder","allowUncheckGroup","_this","_inherits","_createClass","key","connectedCallback","super","handleInitialDisabledState","emit","disconnectedCallback","getAllRadios","_toConsumableArray","querySelectorAll","handleRadioClick","event","target","closest","radios","oldValue","forEach","radio","checked","updated","changedProperties","has","allowUncheck","handleDisabledChange","hasAttribute","handleKeyDown","includes","filter","checkedRadio","find","incr","index","indexOf","length","tabIndex","shadowRoot","querySelector","focus","preventDefault","handleLabelClick","radioToFocus","handleSlotChange","r","some","tagName","toLowerCase","updateCheckedRadio","handleValueChange","hasUpdated","render","hasLabelSlot","test","hasLabelSuffixSlot","hasLabel","hasHelpText","hasErrorMessage","defaultSlot","html","_templateObject","_taggedTemplateLiteral","_templateObject2","classMap","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","NileElement","styles","__decorate","query","prototype","state","property","reflect","type","Boolean","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-radio-group.cjs.js","sources":["../../../src/nile-radio-group/nile-radio-group.ts"],"sourcesContent":["\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport styles from './nile-radio-group.css';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type NileRadio from '../nile-radio/nile-radio';\nimport { Nile_Events } from '../internal/enum';\n\n/**\n * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n *\n * @dependency nile-button-group\n *\n * @slot - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n * attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @csspart button-group - The button group that wraps radio buttons.\n * @csspart button-group__base - The button group's `base` part.\n */\n@customElement('nile-radio-group')\nexport class NileRadioGroup extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'help-text', 'label');\n private customValidityMessage = '';\n\n @query('slot:not([name])') defaultSlot: HTMLSlotElement;\n\n @state() private hasButtonGroup = false;\n\n @state() defaultValue = '';\n\n /**\n * The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\n * instead.\n */\n @property() label = '';\n\n /** The name of the radio group, submitted as a name/value pair with form data. */\n @property() name = 'option';\n\n /** The current value of the radio group, submitted as a name/value pair with form data. */\n @property({ reflect: true }) value = '';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** Ensures a child radio is checked before allowing the containing form to submit. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n\n /** Used to show radio in inline or not */\n @property({ type: Boolean, reflect: true }) labelInline = false;\n\n /** Used to disabled or not */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** The radio's labelborder for whole gp. */\n @property({ type: Boolean, reflect: true }) islabelborder = false;\n\n /** Allow the radio to be unchecked. */\n @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.defaultValue = this.value;\n this.handleInitialDisabledState();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private getAllRadios() {\n return [...this.querySelectorAll<NileRadio>('nile-radio')];\n }\n\n private handleRadioClick(event: MouseEvent) {\n const target = (event.target as HTMLElement).closest<NileRadio>('nile-radio')!;\n const radios = this.getAllRadios();\n const oldValue = this.value;\n\n if (target.disabled || this.disabled) {\n return;\n }\n\n this.value = target.value;\n if (!this.allowUncheckGroup) {\n radios.forEach(radio => {\n radio.checked = radio === target;\n });\n }\n\n if (!this.allowUncheckGroup && this.value !== oldValue) {\n this.emit('change', { value: this.value});\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value});\n } else if (this.allowUncheckGroup) { \n this.emit('change', { value: this.value , checked: target.checked});\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value , checked: target.checked});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value , checked: target.checked});\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n\n if (changedProperties.has('allowUncheckGroup')) {\n if (this.allowUncheckGroup) {\n this.getAllRadios().forEach(radio => {\n radio.allowUncheck = true;\n });\n }\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = this.disabled;\n });\n }\n\n private handleInitialDisabledState() {\n this.getAllRadios().forEach(radio => {\n radio.disabled = radio.hasAttribute('disabled') ? radio.disabled : this.disabled;\n });\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', ' '].includes(event.key)) {\n return;\n }\n\n const radios = this.getAllRadios().filter(radio => !radio.disabled);\n const checkedRadio = radios.find(radio => radio.checked) ?? radios[0];\n const incr = event.key === ' ' ? 0 : ['ArrowUp', 'ArrowLeft'].includes(event.key) ? -1 : 1;\n const oldValue = this.value;\n let index = radios.indexOf(checkedRadio) + incr;\n\n if (index < 0) {\n index = radios.length - 1;\n }\n\n if (index > radios.length - 1) {\n index = 0;\n }\n\n this.getAllRadios().forEach(radio => {\n radio.checked = false;\n\n if (!this.hasButtonGroup) {\n radio.tabIndex = -1;\n }\n });\n\n this.value = radios[index].value;\n radios[index].checked = true;\n\n if (!this.hasButtonGroup) {\n radios[index].tabIndex = 0;\n radios[index].focus();\n } else {\n radios[index].shadowRoot!.querySelector('button')!.focus();\n }\n\n if (this.value !== oldValue) {\n this.emit('change');\n this.emit('input');\n this.emit(Nile_Events.NILE_CHANGE, { value: this.value});\n this.emit(Nile_Events.NILE_INPUT, { value: this.value});\n }\n\n event.preventDefault();\n }\n\n private handleLabelClick() {\n if (this.disabled) return;\n const radios = this.getAllRadios();\n const checked = radios.find(radio => radio.checked);\n const radioToFocus = checked || radios[0];\n\n // Move focus to the checked radio (or the first one if none are checked) when clicking the label\n if (radioToFocus) {\n radioToFocus.focus();\n }\n }\n\n private handleSlotChange() {\n const radios = this.getAllRadios();\n\n radios.forEach(radio => {\n radio.checked = radio.value === this.value;\n if (this.islabelborder) {\n radio.islabelborder=true;\n }\n });\n if (this.disabled) {\n radios.forEach(r => (r.tabIndex = -1));\n return;\n }\n const nile_radio_check='nile-radio-button';\n this.hasButtonGroup = radios.some(radio => radio.tagName.toLowerCase() === nile_radio_check);\n\n if (radios.length > 0 && !radios.some(radio => radio.checked)) {\n if (this.hasButtonGroup) {\n const buttonRadio = radios[0].shadowRoot!.querySelector('button')!;\n buttonRadio.tabIndex = 0;\n } else {\n radios[0].tabIndex = 0;\n }\n }\n\n if (this.hasButtonGroup) {\n const buttonGroup = this.shadowRoot?.querySelector('nile-button-group');\n }\n }\n\n private updateCheckedRadio() {\n const radios = this.getAllRadios();\n radios.forEach(radio => (radio.checked = radio.value === this.value));\n }\n\n @watch('value')\n handleValueChange() {\n if (this.hasUpdated) {\n this.updateCheckedRadio();\n }\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n const defaultSlot = html`\n <slot\n @click=${this.handleRadioClick}\n @keydown=${this.handleKeyDown}\n @slotchange=${this.handleSlotChange}\n role=\"presentation\"\n ></slot>\n `;\n\n return html`\n <fieldset\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--radio-group': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText\n })}\n role=\"radiogroup\"\n aria-labelledby=\"label\"\n aria-describedby=\"help-text\"\n aria-errormessage=\"error-message\"\n >\n <label\n part=\"form-control-label\"\n id=\"label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <div class=\"visually-hidden\">\n <label class=\"radio-group__validation\">\n <input\n type=\"text\"\n class=\"radio-group__validation-input\"\n ?required=${this.required}\n tabindex=\"-1\"\n hidden\n />\n </label>\n </div>\n\n ${this.hasButtonGroup\n ? html`\n ${defaultSlot}\n `\n : html`\n <div part=\"options-base\" class=\"${this.labelInline ? `form-control--inline-radio`:``}\"> ${defaultSlot}</div> `}\n </div>\n\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n\n </fieldset>\n `;\n }\n}\n\nexport default NileRadioGroup;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-radio-group': NileRadioGroup;\n }\n}\n"],"names":["NileRadioGroup","_n","u","this","hasSlotController","HasSlotController","customValidityMessage","hasButtonGroup","defaultValue","label","name","value","form","required","labelInline","disabled","helpText","errorMessage","islabelborder","allowUncheckGroup","_this","_inherits","_createClass","key","connectedCallback","super","handleInitialDisabledState","emit","disconnectedCallback","getAllRadios","_toConsumableArray","querySelectorAll","handleRadioClick","event","target","closest","radios","oldValue","forEach","radio","checked","Nile_Events","NILE_CHANGE","NILE_INPUT","updated","changedProperties","has","allowUncheck","handleDisabledChange","hasAttribute","handleKeyDown","_i$find","_this4","includes","filter","checkedRadio","find","incr","index","indexOf","length","tabIndex","shadowRoot","querySelector","focus","preventDefault","handleLabelClick","radioToFocus","handleSlotChange","r","some","tagName","toLowerCase","updateCheckedRadio","handleValueChange","hasUpdated","render","hasLabelSlot","test","hasLabelSuffixSlot","hasLabel","hasHelpText","hasErrorMessage","defaultSlot","html","_templateObject","_taggedTemplateLiteral","_templateObject2","classMap","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","NileElement","styles","__decorate","query","prototype","state","property","reflect","type","Boolean","attribute","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as t}from"tslib";import{classMap as e}from"lit/directives/class-map.js";import{query as i,state as s,property as l,customElement as o}from"lit/decorators.js";import{H as r}from"../internal/slot.esm.js";import{html as a}from"lit";import{w as n}from"../internal/watch.esm.js";import{N as h}from"../internal/nile-element.esm.js";import{s as d}from"./nile-radio-group.css.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let c=class extends h{constructor(){super(...arguments),this.hasSlotController=new r(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1,this.allowUncheckGroup=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(t){const e=t.target.closest("nile-radio"),i=this.getAllRadios(),s=this.value;e.disabled||this.disabled||(this.value=e.value,this.allowUncheckGroup||i.forEach((t=>{t.checked=t===e})),this.allowUncheckGroup||this.value===s?this.allowUncheckGroup&&(this.emit("change",{value:this.value,checked:e.checked}),this.emit("input")):(this.emit("change",{value:this.value}),this.emit("input")))}updated(t){super.updated(t),t.has("allowUncheckGroup")&&this.allowUncheckGroup&&this.getAllRadios().forEach((t=>{t.allowUncheck=!0}))}handleDisabledChange(){this.getAllRadios().forEach((t=>{t.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((t=>{t.disabled=t.hasAttribute("disabled")?t.disabled:this.disabled}))}handleKeyDown(t){if(this.disabled)return;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const e=this.getAllRadios().filter((t=>!t.disabled)),i=e.find((t=>t.checked))??e[0],s=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1,l=this.value;let o=e.indexOf(i)+s;o<0&&(o=e.length-1),o>e.length-1&&(o=0),this.getAllRadios().forEach((t=>{t.checked=!1,this.hasButtonGroup||(t.tabIndex=-1)})),this.value=e[o].value,e[o].checked=!0,this.hasButtonGroup?e[o].shadowRoot.querySelector("button").focus():(e[o].tabIndex=0,e[o].focus()),this.value!==l&&(this.emit("change"),this.emit("input")),t.preventDefault()}handleLabelClick(){if(this.disabled)return;const t=this.getAllRadios(),e=t.find((t=>t.checked))||t[0];e&&e.focus()}handleSlotChange(){const t=this.getAllRadios();if(t.forEach((t=>{t.checked=t.value===this.value,this.islabelborder&&(t.islabelborder=!0)})),this.disabled)return void t.forEach((t=>t.tabIndex=-1));if(this.hasButtonGroup=t.some((t=>"nile-radio-button"===t.tagName.toLowerCase())),t.length>0&&!t.some((t=>t.checked)))if(this.hasButtonGroup){t[0].shadowRoot.querySelector("button").tabIndex=0}else t[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((t=>t.checked=t.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const t=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const i=this.hasSlotController.test("label-suffix"),s=!!this.label||!!t,l=!!this.helpText,o=!!this.errorMessage,r=a`
1
+ import{__decorate as t}from"tslib";import{classMap as e}from"lit/directives/class-map.js";import{query as i,state as s,property as l,customElement as o}from"lit/decorators.js";import{H as r}from"../internal/slot.esm.js";import{html as a}from"lit";import{w as h}from"../internal/watch.esm.js";import{N as n}from"../internal/nile-element.esm.js";import{s as d}from"./nile-radio-group.css.esm.js";import{N as c}from"../internal/enum.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let u=class extends n{constructor(){super(...arguments),this.hasSlotController=new r(this,"help-text","label"),this.customValidityMessage="",this.hasButtonGroup=!1,this.defaultValue="",this.label="",this.name="option",this.value="",this.form="",this.required=!1,this.labelInline=!1,this.disabled=!1,this.helpText="",this.errorMessage="",this.islabelborder=!1,this.allowUncheckGroup=!1}connectedCallback(){super.connectedCallback(),this.defaultValue=this.value,this.handleInitialDisabledState(),this.emit("nile-init")}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}getAllRadios(){return[...this.querySelectorAll("nile-radio")]}handleRadioClick(t){const e=t.target.closest("nile-radio"),i=this.getAllRadios(),s=this.value;e.disabled||this.disabled||(this.value=e.value,this.allowUncheckGroup||i.forEach((t=>{t.checked=t===e})),this.allowUncheckGroup||this.value===s?this.allowUncheckGroup&&(this.emit("change",{value:this.value,checked:e.checked}),this.emit("input"),this.emit(c.NILE_CHANGE,{value:this.value,checked:e.checked}),this.emit(c.NILE_INPUT,{value:this.value,checked:e.checked})):(this.emit("change",{value:this.value}),this.emit("input"),this.emit(c.NILE_CHANGE,{value:this.value}),this.emit(c.NILE_INPUT,{value:this.value})))}updated(t){super.updated(t),t.has("allowUncheckGroup")&&this.allowUncheckGroup&&this.getAllRadios().forEach((t=>{t.allowUncheck=!0}))}handleDisabledChange(){this.getAllRadios().forEach((t=>{t.disabled=this.disabled}))}handleInitialDisabledState(){this.getAllRadios().forEach((t=>{t.disabled=t.hasAttribute("disabled")?t.disabled:this.disabled}))}handleKeyDown(t){if(this.disabled)return;if(!["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"," "].includes(t.key))return;const e=this.getAllRadios().filter((t=>!t.disabled)),i=e.find((t=>t.checked))??e[0],s=" "===t.key?0:["ArrowUp","ArrowLeft"].includes(t.key)?-1:1,l=this.value;let o=e.indexOf(i)+s;o<0&&(o=e.length-1),o>e.length-1&&(o=0),this.getAllRadios().forEach((t=>{t.checked=!1,this.hasButtonGroup||(t.tabIndex=-1)})),this.value=e[o].value,e[o].checked=!0,this.hasButtonGroup?e[o].shadowRoot.querySelector("button").focus():(e[o].tabIndex=0,e[o].focus()),this.value!==l&&(this.emit("change"),this.emit("input"),this.emit(c.NILE_CHANGE,{value:this.value}),this.emit(c.NILE_INPUT,{value:this.value})),t.preventDefault()}handleLabelClick(){if(this.disabled)return;const t=this.getAllRadios(),e=t.find((t=>t.checked))||t[0];e&&e.focus()}handleSlotChange(){const t=this.getAllRadios();if(t.forEach((t=>{t.checked=t.value===this.value,this.islabelborder&&(t.islabelborder=!0)})),this.disabled)return void t.forEach((t=>t.tabIndex=-1));if(this.hasButtonGroup=t.some((t=>"nile-radio-button"===t.tagName.toLowerCase())),t.length>0&&!t.some((t=>t.checked)))if(this.hasButtonGroup){t[0].shadowRoot.querySelector("button").tabIndex=0}else t[0].tabIndex=0;this.hasButtonGroup&&this.shadowRoot?.querySelector("nile-button-group")}updateCheckedRadio(){this.getAllRadios().forEach((t=>t.checked=t.value===this.value))}handleValueChange(){this.hasUpdated&&this.updateCheckedRadio()}render(){const t=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const i=this.hasSlotController.test("label-suffix"),s=!!this.label||!!t,l=!!this.helpText,o=!!this.errorMessage,r=a`
2
2
  <slot
3
3
  @click=${this.handleRadioClick}
4
4
  @keydown=${this.handleKeyDown}
@@ -56,4 +56,4 @@ import{__decorate as t}from"tslib";import{classMap as e}from"lit/directives/clas
56
56
  `:""}
57
57
 
58
58
  </fieldset>
59
- `}};c.styles=d,t([i("slot:not([name])")],c.prototype,"defaultSlot",void 0),t([s()],c.prototype,"hasButtonGroup",void 0),t([s()],c.prototype,"defaultValue",void 0),t([l()],c.prototype,"label",void 0),t([l()],c.prototype,"name",void 0),t([l({reflect:!0})],c.prototype,"value",void 0),t([l({reflect:!0})],c.prototype,"form",void 0),t([l({type:Boolean,reflect:!0})],c.prototype,"required",void 0),t([l({type:Boolean,reflect:!0})],c.prototype,"labelInline",void 0),t([l({type:Boolean,reflect:!0})],c.prototype,"disabled",void 0),t([l({attribute:"help-text",reflect:!0})],c.prototype,"helpText",void 0),t([l({attribute:"error-message",reflect:!0})],c.prototype,"errorMessage",void 0),t([l({type:Boolean,reflect:!0})],c.prototype,"islabelborder",void 0),t([l({type:Boolean,reflect:!0,attribute:!0})],c.prototype,"allowUncheckGroup",void 0),t([n("disabled",{waitUntilFirstUpdate:!0})],c.prototype,"handleDisabledChange",null),t([n("value")],c.prototype,"handleValueChange",null),c=t([o("nile-radio-group")],c);export{c as N};
59
+ `}};u.styles=d,t([i("slot:not([name])")],u.prototype,"defaultSlot",void 0),t([s()],u.prototype,"hasButtonGroup",void 0),t([s()],u.prototype,"defaultValue",void 0),t([l()],u.prototype,"label",void 0),t([l()],u.prototype,"name",void 0),t([l({reflect:!0})],u.prototype,"value",void 0),t([l({reflect:!0})],u.prototype,"form",void 0),t([l({type:Boolean,reflect:!0})],u.prototype,"required",void 0),t([l({type:Boolean,reflect:!0})],u.prototype,"labelInline",void 0),t([l({type:Boolean,reflect:!0})],u.prototype,"disabled",void 0),t([l({attribute:"help-text",reflect:!0})],u.prototype,"helpText",void 0),t([l({attribute:"error-message",reflect:!0})],u.prototype,"errorMessage",void 0),t([l({type:Boolean,reflect:!0})],u.prototype,"islabelborder",void 0),t([l({type:Boolean,reflect:!0,attribute:!0})],u.prototype,"allowUncheckGroup",void 0),t([h("disabled",{waitUntilFirstUpdate:!0})],u.prototype,"handleDisabledChange",null),t([h("value")],u.prototype,"handleValueChange",null),u=t([o("nile-radio-group")],u);export{u as N};
@@ -1,2 +1,2 @@
1
- System.register([],function(_export,_context){"use strict";function t(t,n){var o=document.getSelection();if(!o||0===o.rangeCount)return;var e=o.getRangeAt(0);function c(t){t.style.paddingInlineStart="0",t.style.margin="0";}function r(t){var n=document.getSelection();if(!n)return;var o=document.createRange();o.selectNodeContents(t),o.collapse(!0),n.removeAllRanges(),n.addRange(o);}function i(n){for(;n&&n!==t;){if(n instanceof HTMLElement){var _t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===_t||"list-item"===_t)return n;}n=n.parentNode;}return null;}function u(t,n){var o=document.createElement(n);for(c(o);t.firstChild;)o.appendChild(t.firstChild);t.replaceWith(o);}if(e.collapsed){var _f$textContent;var _o=i(e.startContainer),_d=_o===null||_o===void 0?void 0:_o.closest("ul,ol");if(_d&&_d.tagName.toLowerCase()===n)return void function(t,_o$parentNode){var n=t.closest("li");if(!n)return;var o=n.parentElement,e=document.createElement("p");for(n.style.textAlign&&(e.style.textAlign=n.style.textAlign);n.firstChild;)e.appendChild(n.firstChild);(_o$parentNode=o.parentNode)!==null&&_o$parentNode!==void 0&&_o$parentNode.insertBefore(e,o.nextSibling),n.remove(),0===o.childNodes.length&&o.remove(),r(e);}(_o);if(_d&&_d.tagName.toLowerCase()!==n)return void u(_d,n);if(!_o||_o===t||0===_o.childNodes.length||(f=_o,!((_f$textContent=f.textContent)!==null&&_f$textContent!==void 0&&_f$textContent.trim())&&!f.querySelector("img,br"))){var _t2=document.createElement(n),_o2=document.createElement("li");return _o2.appendChild(document.createElement("br")),_t2.appendChild(_o2),c(_t2),e.insertNode(_t2),void r(_o2);}var _s=document.createElement(n);c(_s);var _l=document.createElement("li");for(_o.style.textAlign&&(_l.style.textAlign=_o.style.textAlign);_o.firstChild;)_l.appendChild(_o.firstChild);return _s.appendChild(_l),_o.replaceWith(_s),void r(_l);}var f;var d=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:function acceptNode(t){if(!(t instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(t.tagName))return NodeFilter.FILTER_SKIP;var n=document.createRange();n.selectNodeContents(t);return e.compareBoundaryPoints(Range.END_TO_START,n)<0&&e.compareBoundaryPoints(Range.START_TO_END,n)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}});var l;for(;l=s.nextNode();)d.push(l);if(0===d.length){var _t3=i(e.startContainer);_t3&&d.push(_t3);}var m=d[0].closest("li");if(m){var _t4=m.closest("ul,ol");if(!_t4)return;return void(_t4.tagName.toLowerCase()===n?function(t){var n=document.createDocumentFragment();Array.from(t.querySelectorAll("li")).forEach(function(t){var o=document.createElement("p");for(t.style.textAlign&&(o.style.textAlign=t.style.textAlign);t.firstChild;)o.appendChild(t.firstChild);n.appendChild(o);}),t.replaceWith(n);}(_t4):u(_t4,n));}var a=document.createElement(n);c(a);for(var _i=0,_d2=d;_i<_d2.length;_i++){var _t5=_d2[_i];var _n=document.createElement("li");for(_t5.style.textAlign&&(_n.style.textAlign=_t5.style.textAlign);_t5.firstChild;)_n.appendChild(_t5.firstChild);a.appendChild(_n);}d[0].replaceWith(a);for(var _t6=1;_t6<d.length;_t6++)d[_t6].remove();}_export("t",t);return{setters:[],execute:function execute(){}};});
1
+ System.register([],function(_export,_context){"use strict";function t(t,n){var o=document.getSelection();if(!o||0===o.rangeCount)return;var e=o.getRangeAt(0);function c(t){t.style.margin="0";}function r(t){var n=document.getSelection();if(!n)return;var o=document.createRange();o.selectNodeContents(t),o.collapse(!0),n.removeAllRanges(),n.addRange(o);}function i(n){for(;n&&n!==t;){if(n instanceof HTMLElement){var _t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===_t||"list-item"===_t)return n;}n=n.parentNode;}return null;}function u(t,n){var o=document.createElement(n);for(c(o);t.firstChild;)o.appendChild(t.firstChild);t.replaceWith(o);}if(e.collapsed){var _f$textContent;var _o=i(e.startContainer),_d=_o===null||_o===void 0?void 0:_o.closest("ul,ol");if(_d&&_d.tagName.toLowerCase()===n)return void function(t,_o$parentNode){var n=t.closest("li");if(!n)return;var o=n.parentElement,e=document.createElement("p");for(n.style.textAlign&&(e.style.textAlign=n.style.textAlign);n.firstChild;)e.appendChild(n.firstChild);(_o$parentNode=o.parentNode)!==null&&_o$parentNode!==void 0&&_o$parentNode.insertBefore(e,o.nextSibling),n.remove(),0===o.childNodes.length&&o.remove(),r(e);}(_o);if(_d&&_d.tagName.toLowerCase()!==n)return void u(_d,n);if(!_o||_o===t||0===_o.childNodes.length||(f=_o,!((_f$textContent=f.textContent)!==null&&_f$textContent!==void 0&&_f$textContent.trim())&&!f.querySelector("img,br"))){var _t2=document.createElement(n),_o2=document.createElement("li");return _o2.appendChild(document.createElement("br")),_t2.appendChild(_o2),c(_t2),e.insertNode(_t2),void r(_o2);}var _s=document.createElement(n);c(_s);var _l=document.createElement("li");for(_o.style.textAlign&&(_l.style.textAlign=_o.style.textAlign);_o.firstChild;)_l.appendChild(_o.firstChild);return _s.appendChild(_l),_o.replaceWith(_s),void r(_l);}var f;var d=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:function acceptNode(t){if(!(t instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(t.tagName))return NodeFilter.FILTER_SKIP;var n=document.createRange();n.selectNodeContents(t);return e.compareBoundaryPoints(Range.END_TO_START,n)<0&&e.compareBoundaryPoints(Range.START_TO_END,n)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT;}});var l;for(;l=s.nextNode();)d.push(l);if(0===d.length){var _t3=i(e.startContainer);_t3&&d.push(_t3);}var m=d[0].closest("li");if(m){var _t4=m.closest("ul,ol");if(!_t4)return;return void(_t4.tagName.toLowerCase()===n?function(t){var n=document.createDocumentFragment();Array.from(t.querySelectorAll("li")).forEach(function(t){var o=document.createElement("p");for(t.style.textAlign&&(o.style.textAlign=t.style.textAlign);t.firstChild;)o.appendChild(t.firstChild);n.appendChild(o);}),t.replaceWith(n);}(_t4):u(_t4,n));}var a=document.createElement(n);c(a);for(var _i=0,_d2=d;_i<_d2.length;_i++){var _t5=_d2[_i];var _n=document.createElement("li");for(_t5.style.textAlign&&(_n.style.textAlign=_t5.style.textAlign);_t5.firstChild;)_n.appendChild(_t5.firstChild);a.appendChild(_n);}d[0].replaceWith(a);for(var _t6=1;_t6<d.length;_t6++)d[_t6].remove();}_export("t",t);return{setters:[],execute:function execute(){}};});
2
2
  //# sourceMappingURL=list-utils.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-utils.cjs.js","sources":["../../../../src/nile-rich-text-editor/utils/list-utils.ts"],"sourcesContent":["export function toggleList(root: HTMLElement, kind: 'ul' | 'ol') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n function styleList(list: HTMLElement) {\n list.style.paddingInlineStart = '0';\n list.style.margin = '0';\n }\n\n function isEmptyBlock(el: HTMLElement) {\n return !el.textContent?.trim() && !el.querySelector('img,br');\n }\n\n function setCursorInside(el: HTMLElement) {\n const selection = document.getSelection();\n if (!selection) return;\n const r = document.createRange();\n r.selectNodeContents(el);\n r.collapse(true);\n selection.removeAllRanges();\n selection.addRange(r);\n }\n\n function closestBlock(node: Node | null): HTMLElement | null {\n while (node && node !== root) {\n if (node instanceof HTMLElement) {\n const display = getComputedStyle(node).display;\n if (\n node.tagName.match(/^(P|DIV|H[1-6]|LI)$/) ||\n display === 'block' ||\n display === 'list-item'\n )\n return node;\n }\n node = node.parentNode;\n }\n return null;\n }\n\n function unwrapList(list: HTMLElement) {\n const frag = document.createDocumentFragment();\n (Array.from(list.querySelectorAll('li')) as HTMLElement[]).forEach(li => {\n const p = document.createElement('p');\n if (li.style.textAlign) p.style.textAlign = li.style.textAlign;\n while (li.firstChild) p.appendChild(li.firstChild);\n frag.appendChild(p);\n });\n list.replaceWith(frag);\n }\n\n function unwrapListItem(block: HTMLElement) {\n const li = block.closest('li');\n if (!li) return;\n const list = li.parentElement as HTMLElement;\n const p = document.createElement('p');\n if (li.style.textAlign) p.style.textAlign = li.style.textAlign;\n while (li.firstChild) p.appendChild(li.firstChild);\n list.parentNode?.insertBefore(p, list.nextSibling);\n li.remove();\n if (list.childNodes.length === 0) list.remove();\n setCursorInside(p);\n }\n\n function switchListType(list: HTMLElement, newType: 'ul' | 'ol') {\n const newList = document.createElement(newType);\n styleList(newList);\n while (list.firstChild) newList.appendChild(list.firstChild);\n list.replaceWith(newList);\n }\n if (range.collapsed) {\n const block = closestBlock(range.startContainer);\n const insideList = block?.closest('ul,ol') as HTMLElement | null;\n if (insideList && insideList.tagName.toLowerCase() === kind) {\n unwrapListItem(block as HTMLElement);\n return;\n }\n\n if (insideList && insideList.tagName.toLowerCase() !== kind) {\n switchListType(insideList, kind);\n return;\n }\n if (\n !block ||\n block === root ||\n block.childNodes.length === 0 ||\n isEmptyBlock(block)\n ) {\n const list = document.createElement(kind);\n const li = document.createElement('li');\n li.appendChild(document.createElement('br'));\n list.appendChild(li);\n styleList(list);\n range.insertNode(list);\n setCursorInside(li);\n return;\n }\n const list = document.createElement(kind);\n styleList(list);\n const li = document.createElement('li');\n if (block.style.textAlign) li.style.textAlign = block.style.textAlign;\n while (block.firstChild) li.appendChild(block.firstChild);\n list.appendChild(li);\n block.replaceWith(list);\n setCursorInside(li);\n return;\n }\n\n const blocks: HTMLElement[] = [];\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: n => {\n if (!(n instanceof HTMLElement)) return NodeFilter.FILTER_SKIP;\n if (!/^(P|DIV|LI|H[1-6])$/.test(n.tagName)) return NodeFilter.FILTER_SKIP;\n const r = document.createRange();\n r.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, r) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, r) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n });\n let n: Node | null;\n while ((n = walker.nextNode())) blocks.push(n as HTMLElement);\n\n if (blocks.length === 0) {\n const block = closestBlock(range.startContainer);\n if (block) blocks.push(block);\n }\n\n const firstLi = blocks[0].closest('li');\n if (firstLi) {\n const currentList = firstLi.closest('ul,ol') as HTMLElement | null;\n if (!currentList) return;\n if (currentList.tagName.toLowerCase() === kind) unwrapList(currentList);\n else switchListType(currentList, kind);\n return;\n }\n const newList = document.createElement(kind);\n styleList(newList);\n for (const block of blocks) {\n const li = document.createElement('li');\n if (block.style.textAlign) li.style.textAlign = block.style.textAlign;\n while (block.firstChild) li.appendChild(block.firstChild);\n newList.appendChild(li);\n }\n blocks[0].replaceWith(newList);\n for (let i = 1; i < blocks.length; i++) blocks[i].remove();\n}\n"],"names":["toggleList","root","kind","sel","document","getSelection","rangeCount","range","getRangeAt","styleList","list","style","paddingInlineStart","margin","setCursorInside","el","selection","r","createRange","selectNodeContents","collapse","removeAllRanges","addRange","closestBlock","node","HTMLElement","display","getComputedStyle","tagName","match","parentNode","switchListType","newType","newList","createElement","firstChild","appendChild","replaceWith","collapsed","_f$textContent","block","startContainer","insideList","closest","toLowerCase","li","parentElement","p","textAlign","insertBefore","nextSibling","remove","childNodes","length","unwrapListItem","textContent","trim","querySelector","insertNode","blocks","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","n","FILTER_SKIP","test","compareBoundaryPoints","Range","END_TO_START","START_TO_END","FILTER_ACCEPT","FILTER_REJECT","nextNode","push","firstLi","currentList","frag","createDocumentFragment","Array","from","querySelectorAll","forEach","unwrapList","_i","_d2","i"],"mappings":"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"}
1
+ {"version":3,"file":"list-utils.cjs.js","sources":["../../../../src/nile-rich-text-editor/utils/list-utils.ts"],"sourcesContent":["export function toggleList(root: HTMLElement, kind: 'ul' | 'ol') {\n const sel = document.getSelection();\n if (!sel || sel.rangeCount === 0) return;\n const range = sel.getRangeAt(0);\n function styleList(list: HTMLElement) {\n list.style.margin = '0';\n }\n\n function isEmptyBlock(el: HTMLElement) {\n return !el.textContent?.trim() && !el.querySelector('img,br');\n }\n\n function setCursorInside(el: HTMLElement) {\n const selection = document.getSelection();\n if (!selection) return;\n const r = document.createRange();\n r.selectNodeContents(el);\n r.collapse(true);\n selection.removeAllRanges();\n selection.addRange(r);\n }\n\n function closestBlock(node: Node | null): HTMLElement | null {\n while (node && node !== root) {\n if (node instanceof HTMLElement) {\n const display = getComputedStyle(node).display;\n if (\n node.tagName.match(/^(P|DIV|H[1-6]|LI)$/) ||\n display === 'block' ||\n display === 'list-item'\n )\n return node;\n }\n node = node.parentNode;\n }\n return null;\n }\n\n function unwrapList(list: HTMLElement) {\n const frag = document.createDocumentFragment();\n (Array.from(list.querySelectorAll('li')) as HTMLElement[]).forEach(li => {\n const p = document.createElement('p');\n if (li.style.textAlign) p.style.textAlign = li.style.textAlign;\n while (li.firstChild) p.appendChild(li.firstChild);\n frag.appendChild(p);\n });\n list.replaceWith(frag);\n }\n\n function unwrapListItem(block: HTMLElement) {\n const li = block.closest('li');\n if (!li) return;\n const list = li.parentElement as HTMLElement;\n const p = document.createElement('p');\n if (li.style.textAlign) p.style.textAlign = li.style.textAlign;\n while (li.firstChild) p.appendChild(li.firstChild);\n list.parentNode?.insertBefore(p, list.nextSibling);\n li.remove();\n if (list.childNodes.length === 0) list.remove();\n setCursorInside(p);\n }\n\n function switchListType(list: HTMLElement, newType: 'ul' | 'ol') {\n const newList = document.createElement(newType);\n styleList(newList);\n while (list.firstChild) newList.appendChild(list.firstChild);\n list.replaceWith(newList);\n }\n if (range.collapsed) {\n const block = closestBlock(range.startContainer);\n const insideList = block?.closest('ul,ol') as HTMLElement | null;\n if (insideList && insideList.tagName.toLowerCase() === kind) {\n unwrapListItem(block as HTMLElement);\n return;\n }\n\n if (insideList && insideList.tagName.toLowerCase() !== kind) {\n switchListType(insideList, kind);\n return;\n }\n if (\n !block ||\n block === root ||\n block.childNodes.length === 0 ||\n isEmptyBlock(block)\n ) {\n const list = document.createElement(kind);\n const li = document.createElement('li');\n li.appendChild(document.createElement('br'));\n list.appendChild(li);\n styleList(list);\n range.insertNode(list);\n setCursorInside(li);\n return;\n }\n const list = document.createElement(kind);\n styleList(list);\n const li = document.createElement('li');\n if (block.style.textAlign) li.style.textAlign = block.style.textAlign;\n while (block.firstChild) li.appendChild(block.firstChild);\n list.appendChild(li);\n block.replaceWith(list);\n setCursorInside(li);\n return;\n }\n\n const blocks: HTMLElement[] = [];\n const walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {\n acceptNode: n => {\n if (!(n instanceof HTMLElement)) return NodeFilter.FILTER_SKIP;\n if (!/^(P|DIV|LI|H[1-6])$/.test(n.tagName)) return NodeFilter.FILTER_SKIP;\n const r = document.createRange();\n r.selectNodeContents(n);\n const intersects =\n range.compareBoundaryPoints(Range.END_TO_START, r) < 0 &&\n range.compareBoundaryPoints(Range.START_TO_END, r) > 0;\n return intersects ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_REJECT;\n },\n });\n let n: Node | null;\n while ((n = walker.nextNode())) blocks.push(n as HTMLElement);\n\n if (blocks.length === 0) {\n const block = closestBlock(range.startContainer);\n if (block) blocks.push(block);\n }\n\n const firstLi = blocks[0].closest('li');\n if (firstLi) {\n const currentList = firstLi.closest('ul,ol') as HTMLElement | null;\n if (!currentList) return;\n if (currentList.tagName.toLowerCase() === kind) unwrapList(currentList);\n else switchListType(currentList, kind);\n return;\n }\n const newList = document.createElement(kind);\n styleList(newList);\n for (const block of blocks) {\n const li = document.createElement('li');\n if (block.style.textAlign) li.style.textAlign = block.style.textAlign;\n while (block.firstChild) li.appendChild(block.firstChild);\n newList.appendChild(li);\n }\n blocks[0].replaceWith(newList);\n for (let i = 1; i < blocks.length; i++) blocks[i].remove();\n}\n"],"names":["toggleList","root","kind","sel","document","getSelection","rangeCount","range","getRangeAt","styleList","list","style","margin","setCursorInside","el","selection","r","createRange","selectNodeContents","collapse","removeAllRanges","addRange","closestBlock","node","HTMLElement","display","getComputedStyle","tagName","match","parentNode","switchListType","newType","newList","createElement","firstChild","appendChild","replaceWith","collapsed","_f$textContent","block","startContainer","insideList","closest","toLowerCase","li","parentElement","p","textAlign","insertBefore","nextSibling","remove","childNodes","length","unwrapListItem","textContent","trim","querySelector","insertNode","blocks","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","n","FILTER_SKIP","test","compareBoundaryPoints","Range","END_TO_START","START_TO_END","FILTER_ACCEPT","FILTER_REJECT","nextNode","push","firstLi","currentList","frag","createDocumentFragment","Array","from","querySelectorAll","forEach","unwrapList","_i","_d2","i"],"mappings":"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"}
@@ -1 +1 @@
1
- function t(t,n){const o=document.getSelection();if(!o||0===o.rangeCount)return;const e=o.getRangeAt(0);function c(t){t.style.paddingInlineStart="0",t.style.margin="0"}function r(t){const n=document.getSelection();if(!n)return;const o=document.createRange();o.selectNodeContents(t),o.collapse(!0),n.removeAllRanges(),n.addRange(o)}function i(n){for(;n&&n!==t;){if(n instanceof HTMLElement){const t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===t||"list-item"===t)return n}n=n.parentNode}return null}function u(t,n){const o=document.createElement(n);for(c(o);t.firstChild;)o.appendChild(t.firstChild);t.replaceWith(o)}if(e.collapsed){const o=i(e.startContainer),d=o?.closest("ul,ol");if(d&&d.tagName.toLowerCase()===n)return void function(t){const n=t.closest("li");if(!n)return;const o=n.parentElement,e=document.createElement("p");for(n.style.textAlign&&(e.style.textAlign=n.style.textAlign);n.firstChild;)e.appendChild(n.firstChild);o.parentNode?.insertBefore(e,o.nextSibling),n.remove(),0===o.childNodes.length&&o.remove(),r(e)}(o);if(d&&d.tagName.toLowerCase()!==n)return void u(d,n);if(!o||o===t||0===o.childNodes.length||(f=o,!f.textContent?.trim()&&!f.querySelector("img,br"))){const t=document.createElement(n),o=document.createElement("li");return o.appendChild(document.createElement("br")),t.appendChild(o),c(t),e.insertNode(t),void r(o)}const s=document.createElement(n);c(s);const l=document.createElement("li");for(o.style.textAlign&&(l.style.textAlign=o.style.textAlign);o.firstChild;)l.appendChild(o.firstChild);return s.appendChild(l),o.replaceWith(s),void r(l)}var f;const d=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:t=>{if(!(t instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(t.tagName))return NodeFilter.FILTER_SKIP;const n=document.createRange();n.selectNodeContents(t);return e.compareBoundaryPoints(Range.END_TO_START,n)<0&&e.compareBoundaryPoints(Range.START_TO_END,n)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let l;for(;l=s.nextNode();)d.push(l);if(0===d.length){const t=i(e.startContainer);t&&d.push(t)}const m=d[0].closest("li");if(m){const t=m.closest("ul,ol");if(!t)return;return void(t.tagName.toLowerCase()===n?function(t){const n=document.createDocumentFragment();Array.from(t.querySelectorAll("li")).forEach((t=>{const o=document.createElement("p");for(t.style.textAlign&&(o.style.textAlign=t.style.textAlign);t.firstChild;)o.appendChild(t.firstChild);n.appendChild(o)})),t.replaceWith(n)}(t):u(t,n))}const a=document.createElement(n);c(a);for(const t of d){const n=document.createElement("li");for(t.style.textAlign&&(n.style.textAlign=t.style.textAlign);t.firstChild;)n.appendChild(t.firstChild);a.appendChild(n)}d[0].replaceWith(a);for(let t=1;t<d.length;t++)d[t].remove()}export{t};
1
+ function t(t,n){const o=document.getSelection();if(!o||0===o.rangeCount)return;const e=o.getRangeAt(0);function c(t){t.style.margin="0"}function r(t){const n=document.getSelection();if(!n)return;const o=document.createRange();o.selectNodeContents(t),o.collapse(!0),n.removeAllRanges(),n.addRange(o)}function i(n){for(;n&&n!==t;){if(n instanceof HTMLElement){const t=getComputedStyle(n).display;if(n.tagName.match(/^(P|DIV|H[1-6]|LI)$/)||"block"===t||"list-item"===t)return n}n=n.parentNode}return null}function u(t,n){const o=document.createElement(n);for(c(o);t.firstChild;)o.appendChild(t.firstChild);t.replaceWith(o)}if(e.collapsed){const o=i(e.startContainer),d=o?.closest("ul,ol");if(d&&d.tagName.toLowerCase()===n)return void function(t){const n=t.closest("li");if(!n)return;const o=n.parentElement,e=document.createElement("p");for(n.style.textAlign&&(e.style.textAlign=n.style.textAlign);n.firstChild;)e.appendChild(n.firstChild);o.parentNode?.insertBefore(e,o.nextSibling),n.remove(),0===o.childNodes.length&&o.remove(),r(e)}(o);if(d&&d.tagName.toLowerCase()!==n)return void u(d,n);if(!o||o===t||0===o.childNodes.length||(f=o,!f.textContent?.trim()&&!f.querySelector("img,br"))){const t=document.createElement(n),o=document.createElement("li");return o.appendChild(document.createElement("br")),t.appendChild(o),c(t),e.insertNode(t),void r(o)}const s=document.createElement(n);c(s);const l=document.createElement("li");for(o.style.textAlign&&(l.style.textAlign=o.style.textAlign);o.firstChild;)l.appendChild(o.firstChild);return s.appendChild(l),o.replaceWith(s),void r(l)}var f;const d=[],s=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:t=>{if(!(t instanceof HTMLElement))return NodeFilter.FILTER_SKIP;if(!/^(P|DIV|LI|H[1-6])$/.test(t.tagName))return NodeFilter.FILTER_SKIP;const n=document.createRange();n.selectNodeContents(t);return e.compareBoundaryPoints(Range.END_TO_START,n)<0&&e.compareBoundaryPoints(Range.START_TO_END,n)>0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}});let l;for(;l=s.nextNode();)d.push(l);if(0===d.length){const t=i(e.startContainer);t&&d.push(t)}const m=d[0].closest("li");if(m){const t=m.closest("ul,ol");if(!t)return;return void(t.tagName.toLowerCase()===n?function(t){const n=document.createDocumentFragment();Array.from(t.querySelectorAll("li")).forEach((t=>{const o=document.createElement("p");for(t.style.textAlign&&(o.style.textAlign=t.style.textAlign);t.firstChild;)o.appendChild(t.firstChild);n.appendChild(o)})),t.replaceWith(n)}(t):u(t,n))}const a=document.createElement(n);c(a);for(const t of d){const n=document.createElement("li");for(t.style.textAlign&&(n.style.textAlign=t.style.textAlign);t.firstChild;)n.appendChild(t.firstChild);a.appendChild(n)}d[0].replaceWith(a);for(let t=1;t<d.length;t++)d[t].remove()}export{t};