code: public function renderAsButton(bool $withIcon = true): string {
          if ($this->isAccessible()) {
              $button = Tag::button(($withIcon ? $this->makeIcon() . ' ' : '') . $this->getTitle())
                  ->setClass($this->getButtonClasses())
                  ->setType('button')
                  ->addCustomRenderedAttributeWithValue($this->makeConditionalDisabledAttribute())
                  ->setTitle($this->getTooltip())
                  ->setDataAttr('toggle', $this->hasTooltip() ? 'tooltip' : null)
                  ->setDataAttr('position', $this->hasTooltip() ? $this->getTooltipPosition() : null)
                  ->setDataAttr('action', $this->getActionType())
                  ->setDataAttr('url', $this->getUrl())
                  ->setDataAttr('method', $this->getHttpMethod())
                  ->setDataAttr('data', $this->makeRequestDataForHtmlAttribute())
                  ->setDataAttr('response-type', $this->getResponseDataType())
                  ->setDataAttr('confirm', $this->getConfirm())
                  ->setDataAttr('on-success', $this->getOnSuccess())
                  ->setDataAttr('block-datagrid', $this->isBlockDataGrid() ? '1' : null);
              return $this->wrapIntoShowCondition($this->modifyTagBeforeRendering($button)->build());
          } else {
              return '';
          }
      }
docs: Render menu item as <button>
  @param bool $withIcon
  @return string