text: define(["exports", "./vaadin-grid-column.js", "./vaadin-grid-tree-toggle.js", "../../../@polymer/polymer/lib/utils/html-tag.js"], function (_exports, _vaadinGridColumn, _vaadinGridTreeToggle, _htmlTag) {
    "use strict";
  
    Object.defineProperty(_exports, "__esModule", {
      value: true
    });
    _exports.GridTreeColumnElement = void 0;
  
    function _templateObject_09110d00cf4b11e9b8b15bd4e98e0211() {
      var data = babelHelpers.taggedTemplateLiteral(["\n    <template id=\"template\">\n      <vaadin-grid-tree-toggle leaf=\"[[__isLeafItem(item, itemHasChildrenPath)]]\" expanded=\"{{expanded}}\" level=\"[[level]]\">\n        [[__getToggleContent(path, item)]]\n      </vaadin-grid-tree-toggle>\n    </template>\n"]);
  
      _templateObject_09110d00cf4b11e9b8b15bd4e98e0211 = function _templateObject_09110d00cf4b11e9b8b15bd4e98e0211() {
        return data;
      };
  
      return data;
    }
  
    /**
     * `<vaadin-grid-tree-column>` is a helper element for the `<vaadin-grid>`
     * that provides default template and functionality for toggling tree/hierarchical items.
     *
     * #### Example:
     * ```html
     * <vaadin-grid items="[[items]]">
     *  <vaadin-grid-tree-column path="name.first"></vaadin-grid-tree-column>
     *
     *  <vaadin-grid-column>
     *    ...
     * ```
     *
     * @memberof Vaadin
     * @extends Vaadin.GridColumnElement
     */
    var GridTreeColumnElement =
    /*#__PURE__*/
    function (_GridColumnElement) {
      babelHelpers.inherits(GridTreeColumnElement, _GridColumnElement);
  
      function GridTreeColumnElement() {
        babelHelpers.classCallCheck(this, GridTreeColumnElement);
        return babelHelpers.possibleConstructorReturn(this, babelHelpers.getPrototypeOf(GridTreeColumnElement).apply(this, arguments));
      }
  
      babelHelpers.createClass(GridTreeColumnElement, [{
        key: "_prepareBodyTemplate",
        value: function _prepareBodyTemplate() {
          var template = this._prepareTemplatizer(this.$.template); // needed to override the dataHost correctly in case internal template is used.
  
  
          template.templatizer.dataHost = this;
          return template;
        }
      }, {
        key: "__isLeafItem",
        value: function __isLeafItem(item, itemHasChildrenPath) {
          return !(item && item[itemHasChildrenPath]);
        }
      }, {
        key: "__getToggleContent",
        value: function __getToggleContent(path, item) {
          return path && this.get(path, item);
        }
      }], [{
        key: "template",
        get: function get() {
          return (0, _htmlTag.html)(_templateObject_09110d00cf4b11e9b8b15bd4e98e0211());
        }
      }, {
        key: "is",
        get: function get() {
          return 'vaadin-grid-tree-column';
        }
      }, {
        key: "properties",
        get: function get() {
          return {
            /**
             * JS Path of the property in the item used as text content for the tree toggle.
             */
            path: String,
  
            /**
             * JS Path of the property in the item that indicates whether the item has child items.
             */
            itemHasChildrenPath: {
              type: String,
              value: 'children'
            }
          };
        }
      }]);
      return GridTreeColumnElement;
    }(_vaadinGridColumn.GridColumnElement);
  
    _exports.GridTreeColumnElement = GridTreeColumnElement;
    customElements.define(GridTreeColumnElement.is, GridTreeColumnElement);
  });