<commit_before>/**
	_enyo.Control_ is a component that controls a DOM node (i.e., an element in
	the user interface). Controls are generally visible and the user often
	interacts with them directly. While things like buttons and input boxes are
	obviously controls, in Enyo, a control may become as complex as an entire
	application.

	If you make changes to _enyo.Control_, be sure to add or update the appropriate
	[unit tests](https://github.com/enyojs/enyo/tree/master/tools/test/core/tests).

	For more information, see the documentation on
	<a href="https://github.com/enyojs/enyo/wiki/Creating-Controls">Controls</a>
	in the Enyo Developer Guide.
*/
enyo.kind({
	name: "enyo.Control",
	kind: "enyo.UiComponent",
	published: {
		/**
			HTML tag name to use for the control. If null, no tag is generated;
			only the contents are used.
		*/
		tag: "div",
		//* Hash of DOM attributes to apply to the generated HTML tag
		attributes: null,
		//* Space-delimited set of CSS classes to apply to the generated HTML tag
		classes: "",
		//* Style attribute to apply to the generated HTML tag
		style: "",
		/**
			Content that will be generated inside the HTML tag; defaults to
			plain text unless _allowHtml_ is true
		*/
		content: "",
		//* Boolean indicating whether the tag will be visible in the document
		showing: true,
		//* If false, HTML codes in _content_ are escaped before rendering
		allowHtml: false,
		//
		// convenience properties for common attributes
		//
		//* Shortcut for setting _src_ attribute in _attributes_ hash. Overrides that value.
		src: "",
		//
		// esoteric
		//
		/**
			Set to false if the control should not generate any HTML. Used to
			inhibit generation of popups until they're shown at runtime.
		*/
		canGenerate: true,
		//
		// ad hoc properties:
		//
		/**
			Flag used by control layouts to determine which control will expand
			to fill the available space. This only has meaning when the control
			is being used as a child of a control with a version of FittableLayout
			as its layoutKind.

			TODO: We would like to be able to test for the existence of the fit
			property without setting a default (of null) since it is a boolean
			flag. This is a temporary fix.
		*/
		fit: null,
		//* Used by Ares design editor for design objects
		isContainer: false
	},
	//*@protected
	concat: ["classes", "style", "attributes"],
	//*@public
	handlers: {
		//* Controls will call a user-provided _tap_ method when tapped upon.
		ontap: "tap"
	},
	//*@protected
	_isView: true,
	/**
		When using the _renderReusingNode()_ path for updating a tree of views,
		this flag will be set to true or false depending on its state.
		If the content of a control has changed while it was "disconnected",
		the flag will be set to true; once _generateHtml()_ or _renderContent()_
		is called, it knows it has been updated and will be set back to false.
	*/
	_needsRender: true,
	noDefer: true,
	//* The default kind for controls created inside this control that don't
	//* specify their own kind
	defaultKind: "Control",
	//* A set of CSS classes that are applied to controls created inside this control
	controlClasses: "",
	//* @protected
	node: null,
	generated: false,
	create: enyo.super(function (sup) {
		return function() {
			if (this.tag == null) {
				// initially set to true, but if this is not a renderable
				// control, we set it to false.
				this._needsRender = false;
			}<commit_msg>Fixing issue caused by having an undefined _this.kindStyle_<commit_after>/**
	_enyo.Control_ is a component that controls a DOM node (i.e., an element in
	the user interface). Controls are generally visible and the user often
	interacts with them directly. While things like buttons and input boxes are
	obviously controls, in Enyo, a control may become as complex as an entire
	application.

	If you make changes to _enyo.Control_, be sure to add or update the appropriate
	[unit tests](https://github.com/enyojs/enyo/tree/master/tools/test/core/tests).

	For more information, see the documentation on
	<a href="https://github.com/enyojs/enyo/wiki/Creating-Controls">Controls</a>
	in the Enyo Developer Guide.
*/
enyo.kind({
	name: "enyo.Control",
	kind: "enyo.UiComponent",
	published: {
		/**
			HTML tag name to use for the control. If null, no tag is generated;
			only the contents are used.
		*/
		tag: "div",
		//* Hash of DOM attributes to apply to the generated HTML tag
		attributes: null,
		//* Space-delimited set of CSS classes to apply to the generated HTML tag
		classes: "",
		//* Style attribute to apply to the generated HTML tag
		style: "",
		/**
			Content that will be generated inside the HTML tag; defaults to
			plain text unless _allowHtml_ is true
		*/
		content: "",
		//* Boolean indicating whether the tag will be visible in the document
		showing: true,
		//* If false, HTML codes in _content_ are escaped before rendering
		allowHtml: false,
		//
		// convenience properties for common attributes
		//
		//* Shortcut for setting _src_ attribute in _attributes_ hash. Overrides that value.
		src: "",
		//
		// esoteric
		//
		/**
			Set to false if the control should not generate any HTML. Used to
			inhibit generation of popups until they're shown at runtime.
		*/
		canGenerate: true,
		//
		// ad hoc properties:
		//
		/**
			Flag used by control layouts to determine which control will expand
			to fill the available space. This only has meaning when the control
			is being used as a child of a control with a version of FittableLayout
			as its layoutKind.

			TODO: We would like to be able to test for the existence of the fit
			property without setting a default (of null) since it is a boolean
			flag. This is a temporary fix.
		*/
		fit: null,
		//* Used by Ares design editor for design objects
		isContainer: false
	},
	//*@protected
	concat: ["classes", "style", "attributes"],
	//*@public
	handlers: {
		//* Controls will call a user-provided _tap_ method when tapped upon.
		ontap: "tap"
	},
	//*@protected
	_isView: true,
	/**
		When using the _renderReusingNode()_ path for updating a tree of views,
		this flag will be set to true or false depending on its state.
		If the content of a control has changed while it was "disconnected",
		the flag will be set to true; once _generateHtml()_ or _renderContent()_
		is called, it knows it has been updated and will be set back to false.
	*/
	_needsRender: true,
	noDefer: true,
	//* The default kind for controls created inside this control that don't
	//* specify their own kind
	defaultKind: "Control",
	//* A set of CSS classes that are applied to controls created inside this control
	controlClasses: "",
	//* @protected
	node: null,
	generated: false,
	kindStyle: "",
	create: enyo.super(function (sup) {
		return function() {
			if (this.tag == null) {
				// initially set to true, but if this is not a renderable
				// control, we set it to false.
				this._needsRender = false;
			}
{'fraction_non_alphanumeric': 0.08641084824004616, 'fraction_numerical': 0.0, 'mean_word_length': 3.2377750611246943, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '474244', 'n_tokens_mistral': 2190, 'n_tokens_neox': 1988, 'n_words': 946}