I’m still not understanding you. What about Label says it’s a span instead of a div? Why is making it a div not PAYG? Span simply limits Label unnecessarily. I think span is not the appropriate element for Label.
> A Label without width should grow to the size of its text. Isn't that how > it worked in Flex? Sure, and a div does that too. In Flex, a label could have a width too if specified. Spans cannot. Harbs > On Mar 15, 2018, at 9:56 PM, Alex Harui <[email protected]> wrote: > > Have the truncation bead swap the span for div. Again, some component has > to put a span in the DOM. Label has been just fine for that so far. > > A Label without width should grow to the size of its text. Isn't that how > it worked in Flex? > > Maybe Label should be refactored to not have width/height properties but > IMO we have bigger fish to fry. > > I'm sure Div is used to wrap text in some frameworks, but those frameworks > probably aren't PAYG. In Alina's app, Label has a usage score of 69, but > Label.width has a score of only 5. We will have her use > LabelWithTruncation or add the truncation bead on the few labels that need > > My 2 cents, > -Alex > > On 3/15/18, 12:45 PM, "Harbs" <[email protected]> wrote: > >> But we already have a truncation bead. The only reason it doesn’t work in >> Label is because spans don’t have widths. >> >> Label is not something which should flow beyond its bounds — which is >> what span is useful for. I still don’t see why you think span makes more >> sense. >> >> FWIW, div *is* used as a container for text in various frameworks. >> >> My $0.02, >> Harbs >> >>> On Mar 15, 2018, at 9:42 PM, Alex Harui <[email protected]> >>> wrote: >>> >>> AIUI, "inline" is the default display style for Span. "block" is the >>> default for Div. HTML flows inline by default for just plain text. >>> Basic >>> components try to give Flex-friendly names for HTMLElements. Some >>> component in Basic needs to inject a span into the DOM. In a few >>> seconds >>> of looking at a Google web page, I did not see any divs with text as >>> children. I saw spans. The Divs all contained other elements. >>> >>> I don't create HTML web pages for a living, but if I were to place a >>> label >>> over a control like I often see in Flex, I would not wrap the label in a >>> Div. The control would be div, so I would us a span or just plain text. >>> If I looked at the final DOM and saw Divs around every chunk of text, I >>> would think there is something heavy about the framework. >>> >>> Again, the goal is to encapsulate common patterns. Label combined with >>> some control is trying to replicate common patterns for labeling >>> controls. >>> You are trying to solve the common pattern of truncating text. That >>> will >>> require a Div. But truncation, or even width/height is not something >>> that >>> should be built into Label for PAYG reasons. IMO, you should create a >>> different component with a different name. TruncatingLabel, or >>> LabelWIthTruncation. >>> >>> My 2 cents, >>> -Alex >>> >>> On 3/15/18, 12:19 PM, "Harbs" <[email protected]> wrote: >>> >>>> Why is span lighter than div? >>>> >>>> Inline and nowrap is not specific to span. AFAICT, there’s nothing >>>> specific to snap which fits Label better than div. >>>> >>>> As far as components which “does” span: Besides Span in HTML, we have >>>> HTMLText in Basic which encapsulates span. >>>> >>>> I can revert the change I made to Label, but I have not seen any >>>> downside >>>> to using div for Label. It seems to me that there’s nothing in the >>>> Label >>>> promise which dictates using span. >>>> >>>> Harbs >>>> >>>>> On Mar 15, 2018, at 6:55 PM, Alex Harui <[email protected]> >>>>> wrote: >>>>> >>>>> >>>>> >>>>> On 3/15/18, 5:34 AM, "Harbs" <[email protected]> wrote: >>>>> >>>>>> Gotcha. FWIW, we now have the HTML element component set which more >>>>>> thinly wraps HTML elements. >>>>>> >>>>>> I can’t think of any reason why Label would be better as a span than >>>>>> a >>>>>> div. It seems to me that simply using div instead of span would make >>>>>> Label more versatile. Am I missing something? >>>>> >>>>> You may be missing that the only real goal of Royale is to encapsulate >>>>> popular patterns. Pretty sure I've seen span used on many web pages, >>>>> so >>>>> we need a component that does what it does, including assuming inline >>>>> instead of block display. Similarly, what would you think of a >>>>> framework >>>>> that had a HelloWorld that used a div instead of a span? You might >>>>> think >>>>> it is too heavy. >>>>> >>>>> Per PAYG, if span doesn’t' support certain features, then you create a >>>>> LabelWithTruncation and have it use a Div if you need to. >>>>> >>>>> My 2 cents, >>>>> -Alex >>>>>> >>>>>>> On Mar 15, 2018, at 2:30 PM, Peter Ent <[email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> Label was one of the very first components and the idea was >>>>>>> minimalism. >>>>>>> Button was <button> and TextInput was <input type="text"> and Label >>>>>>> was >>>>>>> <span>. >>>>>>> >>>>>>> I'm wondering if we should have NativeButton, NativeLabel, etc. >>>>>>> which >>>>>>> would be these minimal elements and have others that are <div> >>>>>>> wrapping. >>>>>>> For instance, ImageAndTextButton is a <button><img >>>>>>> src="goo.jpg">Label >>>>>>> Here</button> which works but the alignment is weird so maybe >>>>>>> ImageAndTextButton should be a <div><img>Text</div> which can be >>>>>>> aligned >>>>>>> and styled better. >>>>>>> >>>>>>> Anyway, that's the reason: simplicity. >>>>>>> >>>>>>> ‹peter >>>>>>> >>>>>>> On 3/15/18, 7:51 AM, "Harbs" <[email protected]> wrote: >>>>>>> >>>>>>>> Is there a reason that the element type of Basic Label is span? >>>>>>>> >>>>>>>> I tried adding a łTextOverflow˛ bead to a Label and it does not >>>>>>>> seem >>>>>>>> to >>>>>>>> work because spans donąt really have a working width. Switching the >>>>>>>> element type to div seems to make it work. >>>>>>>> >>>>>>>> Harbs >>>>>>> >>>>>> >>>>> >>>> >>> >> >
