-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build new playground #751
Build new playground #751
Conversation
fifoosid
commented
Aug 27, 2019
•
edited by pskelin
Loading
edited by pskelin
- playground/app not necessary, the whole structure can be directly under playground
…components into build-new-playground
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Works on my machine, didn't find any issues.
One question, should we delete the gemlock file and add it to .gitignore?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Issues:
- the bottom of .md pages is a bit cut, like there's no padding. F.e. go to: "http://localhost:4000/playground/docs/faq" and check the bottom line.
- Changing RTL does not seem to affect the samples (only the dialog that offers theme/size/rtl settings)
- When clicking WC links in the left menu, f.e. table, once the page is realoaded, you don't see what you just clicked on the left. Is it easy to make it scroll down so that the selected component is always in focus?
- IE: opening the datepicker on the initial page produces a tall dialog with infinite scroll
- IE: the dialog to change theme/size/rtl does not work properly, popups are initially open, buttons on the bottom bar are not clickable as something overlaps them etc....
- IE: datepicker icon is missing in the sample page for all datepicker instances
- IE: tabcontainer design is broken - some dots appear
- IE: shellbar title is huge
Overall IE: please check if jekyll does not set CSS rules that interfere with our webcomponents. Since there is no shadow root isolation, each app that wants to run on IE should provide CSS that does not break the internals of WC.
<script src="../../../../../../resources/sap/ui/thirdparty/sinon.js"></script> | ||
<script src="../../../../../../resources/sap/ui/thirdparty/sinon-qunit.js"></script> | ||
<!-- Patch all of the dependencies --> | ||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have as a local dependecy like we had it previously?
At least do not load it through https but instead let the browser decide on the protocol
//ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
still here despite the local version, please remove
@@ -0,0 +1,142 @@ | |||
/*! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As you added all qunit files to the main project check if they are excluded from the npm publish. I see that they are in the test folder so most probably they will be excluded.
Just a reminder to check because we do not need these files in the final npm output
Also we do not need them nested in the sap/ui/webcomponents folders because they are not related to this namespace.
<script> | ||
window.prettyPrint(); | ||
</script> | ||
<style> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
style tag at the bottom of the page?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
packages/playground/app/_config.yml
Outdated
|
||
# Google Analytics Tracking (optional) | ||
# e.g, UA-1234567-89 | ||
ga_tracking: UA-2709176-10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure we need google analytics.
Point that out so you have reminder to sync with PO
|
||
<link rel="stylesheet" href="{{ "/assets/css/just-the-docs.css" | absolute_url }}"> | ||
|
||
{% if site.ga_tracking != nil %} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's exclude this until we have clear statement from PO
@@ -0,0 +1,229 @@ | |||
[![Build Status](https://travis-ci.org/webcomponents/webcomponentsjs.svg?branch=master)](https://travis-ci.org/webcomponents/webcomponentsjs) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no need to have thirdparty readme in our output assets not sure about the license
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Readme is removed. The license is BSD, so we need to keep the license.md
@@ -0,0 +1 @@ | |||
{"version":3,"sources":["../../custom-elements/src/Utilities.js","../../custom-elements/src/CustomElementInternals.js","../../custom-elements/src/CustomElementState.js","../../custom-elements/src/DocumentConstructionObserver.js","../../custom-elements/src/CustomElementRegistry.js","../../custom-elements/src/Deferred.js","../../custom-elements/src/Patch/Native.js","../../custom-elements/src/AlreadyConstructedMarker.js","../../custom-elements/src/Patch/HTMLElement.js","../../custom-elements/src/custom-elements.js","../../custom-elements/src/Patch/Interface/ParentNode.js","../../custom-elements/src/Patch/Document.js","../../custom-elements/src/Patch/Node.js","../../custom-elements/src/Patch/Interface/ChildNode.js","../../custom-elements/src/Patch/Element.js","../../custom-elements/src/Patch/DocumentFragment.js"],"names":["reservedTagList","Set","isValidCustomElementName","localName","reserved","has","validForm","test","isConnected","node","nativeValue","undefined","current","__CE_isImportDocument","Document","parentNode","window","ShadowRoot","host","nextSiblingOrAncestorSibling","root","start","nextSibling","walkDeepDescendantElements","callback","visitedImports","nodeType","Node","ELEMENT_NODE","element","getAttribute","importNode","import","add","child","firstChild","shadowRoot","__CE_shadowRoot","setPropertyUnchecked","destination","name","value","constructor","CustomElementInternals","_localNameToDefinition","Map","_constructorToDefinition","_patches","_hasPatches","setDefinition","definition","set","constructorFunction","addPatch","listener","push","patchTree","patch","__CE_patched","i","length","connectTree","elements","custom","__CE_state","connectedCallback","upgradeElement","disconnectTree","disconnectedCallback","patchAndUpgradeTree","options","upgrade","gatherElements","__CE_hasRegistry","readyState","__CE_documentLoadHandled","addEventListener","clonedVisitedImports","delete","ownerDocument","defaultView","get","localNameToDefinition","constructionStack","Error","pop","e","failed","__CE_definition","attributeChangedCallback","observedAttributes","call","oldValue","newValue","namespace","indexOf","DocumentConstructionObserver","internals","doc","document","_internals","_document","_observer","MutationObserver","_handleMutations","bind","observe","childList","subtree","disconnect","mutations","addedNodes","j","Deferred","_resolve","_value","_promise","Promise","resolve","CustomElementRegistry","_elementDefinitionIsRunning","_whenDefinedDeferred","_flushCallback","this._flushCallback","fn","_flushPending","_pendingDefinitions","_documentConstructionObserver","define","Function","TypeError","SyntaxError","getCallback","callbackValue","prototype","Object","adoptedCallback","_flush","pendingDefinitions","elementsWithStableDefinitions","elementsWithPendingDefinitions","pendingElements","shift","pendingUpgradableElements","deferred","whenDefined","reject","prior","some","d","polyfillWrapFlushCallback","outer","inner","flush","Document_createElement","createElement","Document_createElementNS","createElementNS","Document_importNode","Document_prepend","Document_append","DocumentFragment_prepend","DocumentFragment","DocumentFragment_append","Node_cloneNode","cloneNode","Node_appendChild","appendChild","Node_insertBefore","insertBefore","Node_removeChild","removeChild","Node_replaceChild","replaceChild","Node_textContent","getOwnPropertyDescriptor","Element_attachShadow","Element","Element_innerHTML","Element_getAttribute","Element_setAttribute","setAttribute","Element_removeAttribute","removeAttribute","Element_getAttributeNS","getAttributeNS","Element_setAttributeNS","setAttributeNS","Element_removeAttributeNS","removeAttributeNS","Element_insertAdjacentElement","Element_insertAdjacentHTML","Element_prepend","Element_append","Element_before","Element_after","Element_replaceWith","Element_remove","HTMLElement","HTMLElement_innerHTML","HTMLElement_insertAdjacentElement","HTMLElement_insertAdjacentHTML","$jscompDefaultExport","AlreadyConstructedMarker","constructorToDefinition","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_createElement.call","setPrototypeOf","lastIndex","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement","defineProperty","writable","configurable","enumerable","builtIn","appendPrependPatch","builtInMethod","flattenedNodes","connectedElements","nodes","apply","prepend","append","result","deep","clone","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_importNode.call","NS_HTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_createElementNS.call","PatchParentNode","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Document_append","patch_textContent","baseDescriptor","assignedValue","TEXT_NODE","removedNodes","childNodes","childNodesLength","Array","refNode","insertedNodes","slice","nativeResult","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_insertBefore.call","nodeWasConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_appendChild.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_cloneNode.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_removeChild.call","nodeToInsert","nodeToRemove","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_replaceChild.call","nodeToInsertWasConnected","thisIsConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_textContent","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Node_textContent.get","parts","textContent","join","createTextNode","beforeAfterPatch","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_before","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_after","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_replaceWith","wasConnected","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_remove","patch_innerHTML","htmlString","removedElements","patch_insertAdjacentElement","baseMethod","position","insertedElement","patch_insertAdjacentHTML","upgradeNodesInRange","end","text","toLowerCase","marker","previousSibling","lastChild","String","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_attachShadow","init","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_attachShadow.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_innerHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_innerHTML.get","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_innerHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_innerHTML.get","innerHTML","isTemplate","content","rawElement","namespaceURI","container","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_setAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_getAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_setAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_getAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_removeAttribute.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_removeAttributeNS.call","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_insertAdjacentElement","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_insertAdjacentElement","console","warn","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.HTMLElement_insertAdjacentHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_insertAdjacentHTML","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.Element_append","PatchChildNode","priorCustomElements","PatchHTMLElement","PatchDocument","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.DocumentFragment_prepend","$jscompDefaultExport$$module$node_modules$$webcomponents$custom_elements$src$Patch$Native.DocumentFragment_append","PatchNode","PatchElement","customElements"],"mappings":"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","file":"webcomponents-ce.js","sourcesContent":["const reservedTagList = new Set([\n 'annotation-xml',\n 'color-profile',\n 'font-face',\n 'font-face-src',\n 'font-face-uri',\n 'font-face-format',\n 'font-face-name',\n 'missing-glyph',\n]);\n\n/**\n * @param {string} localName\n * @returns {boolean}\n */\nexport function isValidCustomElementName(localName) {\n const reserved = reservedTagList.has(localName);\n const validForm = /^[a-z][.0-9_a-z]*-[\\-.0-9_a-z]*$/.test(localName);\n return !reserved && validForm;\n}\n\n/**\n * @private\n * @param {!Node} node\n * @return {boolean}\n */\nexport function isConnected(node) {\n // Use `Node#isConnected`, if defined.\n const nativeValue = node.isConnected;\n if (nativeValue !== undefined) {\n return nativeValue;\n }\n\n /** @type {?Node|undefined} */\n let current = node;\n while (current && !(current.__CE_isImportDocument || current instanceof Document)) {\n current = current.parentNode || (window.ShadowRoot && current instanceof ShadowRoot ? current.host : undefined);\n }\n return !!(current && (current.__CE_isImportDocument || current instanceof Document));\n}\n\n/**\n * @param {!Node} root\n * @param {!Node} start\n * @return {?Node}\n */\nfunction nextSiblingOrAncestorSibling(root, start) {\n let node = start;\n while (node && node !== root && !node.nextSibling) {\n node = node.parentNode;\n }\n return (!node || node === root) ? null : node.nextSibling;\n}\n\n/**\n * @param {!Node} root\n * @param {!Node} start\n * @return {?Node}\n */\nfunction nextNode(root, start) {\n return start.firstChild ? start.firstChild : nextSiblingOrAncestorSibling(root, start);\n}\n\n/**\n * @param {!Node} root\n * @param {!function(!Element)} callback\n * @param {!Set<Node>=} visitedImports\n */\nexport function walkDeepDescendantElements(root, callback, visitedImports = new Set()) {\n let node = root;\n while (node) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n const element = /** @type {!Element} */(node);\n\n callback(element);\n\n const localName = element.localName;\n if (localName === 'link' && element.getAttribute('rel') === 'import') {\n // If this import (polyfilled or not) has it's root node available,\n // walk it.\n const importNode = /** @type {!Node} */ (element.import);\n if (importNode instanceof Node && !visitedImports.has(importNode)) {\n // Prevent multiple walks of the same import root.\n visitedImports.add(importNode);\n\n for (let child = importNode.firstChild; child; child = child.nextSibling) {\n walkDeepDescendantElements(child, callback, visitedImports);\n }\n }\n\n // Ignore descendants of import links to prevent attempting to walk the\n // elements created by the HTML Imports polyfill that we just walked\n // above.\n node = nextSiblingOrAncestorSibling(root, element);\n continue;\n } else if (localName === 'template') {\n // Ignore descendants of templates. There shouldn't be any descendants\n // because they will be moved into `.content` during construction in\n // browsers that support template but, in case they exist and are still\n // waiting to be moved by a polyfill, they will be ignored.\n node = nextSiblingOrAncestorSibling(root, element);\n continue;\n }\n\n // Walk shadow roots.\n const shadowRoot = element.__CE_shadowRoot;\n if (shadowRoot) {\n for (let child = shadowRoot.firstChild; child; child = child.nextSibling) {\n walkDeepDescendantElements(child, callback, visitedImports);\n }\n }\n }\n\n node = nextNode(root, node);\n }\n}\n\n/**\n * Used to suppress Closure's \"Modifying the prototype is only allowed if the\n * constructor is in the same scope\" warning without using\n * `@suppress {newCheckTypes, duplicate}` because `newCheckTypes` is too broad.\n *\n * @param {!Object} destination\n * @param {string} name\n * @param {*} value\n */\nexport function setPropertyUnchecked(destination, name, value) {\n destination[name] = value;\n}\n","import * as Utilities from './Utilities.js';\nimport CEState from './CustomElementState.js';\n\nexport default class CustomElementInternals {\n constructor() {\n /** @type {!Map<string, !CustomElementDefinition>} */\n this._localNameToDefinition = new Map();\n\n /** @type {!Map<!Function, !CustomElementDefinition>} */\n this._constructorToDefinition = new Map();\n\n /** @type {!Array<!function(!Node)>} */\n this._patches = [];\n\n /** @type {boolean} */\n this._hasPatches = false;\n }\n\n /**\n * @param {string} localName\n * @param {!CustomElementDefinition} definition\n */\n setDefinition(localName, definition) {\n this._localNameToDefinition.set(localName, definition);\n this._constructorToDefinition.set(definition.constructorFunction, definition);\n }\n\n /**\n * @param {string} localName\n * @return {!CustomElementDefinition|undefined}\n */\n localNameToDefinition(localName) {\n return this._localNameToDefinition.get(localName);\n }\n\n /**\n * @param {!Function} constructor\n * @return {!CustomElementDefinition|undefined}\n */\n constructorToDefinition(constructor) {\n return this._constructorToDefinition.get(constructor);\n }\n\n /**\n * @param {!function(!Node)} listener\n */\n addPatch(listener) {\n this._hasPatches = true;\n this._patches.push(listener);\n }\n\n /**\n * @param {!Node} node\n */\n patchTree(node) {\n if (!this._hasPatches) return;\n\n Utilities.walkDeepDescendantElements(node, element => this.patch(element));\n }\n\n /**\n * @param {!Node} node\n */\n patch(node) {\n if (!this._hasPatches) return;\n\n if (node.__CE_patched) return;\n node.__CE_patched = true;\n\n for (let i = 0; i < this._patches.length; i++) {\n this._patches[i](node);\n }\n }\n\n /**\n * @param {!Node} root\n */\n connectTree(root) {\n const elements = [];\n\n Utilities.walkDeepDescendantElements(root, element => elements.push(element));\n\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (element.__CE_state === CEState.custom) {\n this.connectedCallback(element);\n } else {\n this.upgradeElement(element);\n }\n }\n }\n\n /**\n * @param {!Node} root\n */\n disconnectTree(root) {\n const elements = [];\n\n Utilities.walkDeepDescendantElements(root, element => elements.push(element));\n\n for (let i = 0; i < elements.length; i++) {\n const element = elements[i];\n if (element.__CE_state === CEState.custom) {\n this.disconnectedCallback(element);\n }\n }\n }\n\n /**\n * Upgrades all uncustomized custom elements at and below a root node for\n * which there is a definition. When custom element reaction callbacks are\n * assumed to be called synchronously (which, by the current DOM / HTML spec\n * definitions, they are *not*), callbacks for both elements customized\n * synchronously by the parser and elements being upgraded occur in the same\n * relative order.\n *\n * NOTE: This function, when used to simulate the construction of a tree that\n * is already created but not customized (i.e. by the parser), does *not*\n * prevent the element from reading the 'final' (true) state of the tree. For\n * example, the element, during truly synchronous parsing / construction would\n * see that it contains no children as they have not yet been inserted.\n * However, this function does not modify the tree, the element will\n * (incorrectly) have children. Additionally, self-modification restrictions\n * for custom element constructors imposed by the DOM spec are *not* enforced.\n *\n *\n * The following nested list shows the steps extending down from the HTML\n * spec's parsing section that cause elements to be synchronously created and\n * upgraded:\n *\n * The \"in body\" insertion mode:\n * https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n * - Switch on token:\n * .. other cases ..\n * -> Any other start tag\n * - [Insert an HTML element](below) for the token.\n *\n * Insert an HTML element:\n * https://html.spec.whatwg.org/multipage/syntax.html#insert-an-html-element\n * - Insert a foreign element for the token in the HTML namespace:\n * https://html.spec.whatwg.org/multipage/syntax.html#insert-a-foreign-element\n * - Create an element for a token:\n * https://html.spec.whatwg.org/multipage/syntax.html#create-an-element-for-the-token\n * - Will execute script flag is true?\n * - (Element queue pushed to the custom element reactions stack.)\n * - Create an element:\n * https://dom.spec.whatwg.org/#concept-create-element\n * - Sync CE flag is true?\n * - Constructor called.\n * - Self-modification restrictions enforced.\n * - Sync CE flag is false?\n * - (Upgrade reaction enqueued.)\n * - Attributes appended to element.\n * (`attributeChangedCallback` reactions enqueued.)\n * - Will execute script flag is true?\n * - (Element queue popped from the custom element reactions stack.\n * Reactions in the popped stack are invoked.)\n * - (Element queue pushed to the custom element reactions stack.)\n * - Insert the element:\n * https://dom.spec.whatwg.org/#concept-node-insert\n * - Shadow-including descendants are connected. During parsing\n * construction, there are no shadow-*excluding* descendants.\n * However, the constructor may have validly attached a shadow\n * tree to itself and added descendants to that shadow tree.\n * (`connectedCallback` reactions enqueued.)\n * - (Element queue popped from the custom element reactions stack.\n * Reactions in the popped stack are invoked.)\n *\n * @param {!Node} root\n * @param {{\n * visitedImports: (!Set<!Node>|undefined),\n * upgrade: (!function(!Element)|undefined),\n * }=} options\n */\n patchAndUpgradeTree(root, options = {}) {\n const visitedImports = options.visitedImports || new Set();\n const upgrade = options.upgrade || (element => this.upgradeElement(element));\n\n const elements = [];\n\n const gatherElements = element => {\n if (element.localName === 'link' && element.getAttribute('rel') === 'import') {\n // The HTML Imports polyfill sets a descendant element of the link to\n // the `import` property, specifically this is *not* a Document.\n const importNode = /** @type {?Node} */ (element.import);\n\n if (importNode instanceof Node) {\n importNode.__CE_isImportDocument = true;\n // Connected links are associated with the registry.\n importNode.__CE_hasRegistry = true;\n }\n\n if (importNode && importNode.readyState === 'complete') {\n importNode.__CE_documentLoadHandled = true;\n } else {\n // If this link's import root is not available, its contents can't be\n // walked. Wait for 'load' and walk it when it's ready.\n element.addEventListener('load', () => {\n const importNode = /** @type {!Node} */ (element.import);\n\n if (importNode.__CE_documentLoadHandled) return;\n importNode.__CE_documentLoadHandled = true;\n\n // Clone the `visitedImports` set that was populated sync during\n // the `patchAndUpgradeTree` call that caused this 'load' handler to\n // be added. Then, remove *this* link's import node so that we can\n // walk that import again, even if it was partially walked later\n // during the same `patchAndUpgradeTree` call.\n const clonedVisitedImports = new Set(visitedImports);\n clonedVisitedImports.delete(importNode);\n\n this.patchAndUpgradeTree(importNode, {visitedImports: clonedVisitedImports, upgrade});\n });\n }\n } else {\n elements.push(element);\n }\n };\n\n // `walkDeepDescendantElements` populates (and internally checks against)\n // `visitedImports` when traversing a loaded import.\n Utilities.walkDeepDescendantElements(root, gatherElements, visitedImports);\n\n if (this._hasPatches) {\n for (let i = 0; i < elements.length; i++) {\n this.patch(elements[i]);\n }\n }\n\n for (let i = 0; i < elements.length; i++) {\n upgrade(elements[i]);\n }\n }\n\n /**\n * @param {!HTMLElement} element\n */\n upgradeElement(element) {\n const currentState = element.__CE_state;\n if (currentState !== undefined) return;\n\n // Prevent elements created in documents without a browsing context from\n // upgrading.\n //\n // https://html.spec.whatwg.org/multipage/custom-elements.html#look-up-a-custom-element-definition\n // \"If document does not have a browsing context, return null.\"\n //\n // https://html.spec.whatwg.org/multipage/window-object.html#dom-document-defaultview\n // \"The defaultView IDL attribute of the Document interface, on getting,\n // must return this Document's browsing context's WindowProxy object, if\n // this Document has an associated browsing context, or null otherwise.\"\n const ownerDocument = element.ownerDocument;\n if (\n !ownerDocument.defaultView &&\n !(ownerDocument.__CE_isImportDocument && ownerDocument.__CE_hasRegistry)\n ) return;\n\n const definition = this.localNameToDefinition(element.localName);\n if (!definition) return;\n\n definition.constructionStack.push(element);\n\n const constructor = definition.constructorFunction;\n try {\n try {\n let result = new (constructor)();\n if (result !== element) {\n throw new Error('The custom element constructor did not produce the element being upgraded.');\n }\n } finally {\n definition.constructionStack.pop();\n }\n } catch (e) {\n element.__CE_state = CEState.failed;\n throw e;\n }\n\n element.__CE_state = CEState.custom;\n element.__CE_definition = definition;\n\n if (definition.attributeChangedCallback) {\n const observedAttributes = definition.observedAttributes;\n for (let i = 0; i < observedAttributes.length; i++) {\n const name = observedAttributes[i];\n const value = element.getAttribute(name);\n if (value !== null) {\n this.attributeChangedCallback(element, name, null, value, null);\n }\n }\n }\n\n if (Utilities.isConnected(element)) {\n this.connectedCallback(element);\n }\n }\n\n /**\n * @param {!Element} element\n */\n connectedCallback(element) {\n const definition = element.__CE_definition;\n if (definition.connectedCallback) {\n definition.connectedCallback.call(element);\n }\n }\n\n /**\n * @param {!Element} element\n */\n disconnectedCallback(element) {\n const definition = element.__CE_definition;\n if (definition.disconnectedCallback) {\n definition.disconnectedCallback.call(element);\n }\n }\n\n /**\n * @param {!Element} element\n * @param {string} name\n * @param {?string} oldValue\n * @param {?string} newValue\n * @param {?string} namespace\n */\n attributeChangedCallback(element, name, oldValue, newValue, namespace) {\n const definition = element.__CE_definition;\n if (\n definition.attributeChangedCallback &&\n definition.observedAttributes.indexOf(name) > -1\n ) {\n definition.attributeChangedCallback.call(element, name, oldValue, newValue, namespace);\n }\n }\n}\n","/**\n * @enum {number}\n */\nconst CustomElementState = {\n custom: 1,\n failed: 2,\n};\n\nexport default CustomElementState;\n","import CustomElementInternals from './CustomElementInternals.js';\n\nexport default class DocumentConstructionObserver {\n constructor(internals, doc) {\n /**\n * @type {!CustomElementInternals}\n */\n this._internals = internals;\n\n /**\n * @type {!Document}\n */\n this._document = doc;\n\n /**\n * @type {MutationObserver|undefined}\n */\n this._observer = undefined;\n\n\n // Simulate tree construction for all currently accessible nodes in the\n // document.\n this._internals.patchAndUpgradeTree(this._document);\n\n if (this._document.readyState === 'loading') {\n this._observer = new MutationObserver(this._handleMutations.bind(this));\n\n // Nodes created by the parser are given to the observer *before* the next\n // task runs. Inline scripts are run in a new task. This means that the\n // observer will be able to handle the newly parsed nodes before the inline\n // script is run.\n this._observer.observe(this._document, {\n childList: true,\n subtree: true,\n });\n }\n }\n\n disconnect() {\n if (this._observer) {\n this._observer.disconnect();\n }\n }\n\n /**\n * @param {!Array<!MutationRecord>} mutations\n */\n _handleMutations(mutations) {\n // Once the document's `readyState` is 'interactive' or 'complete', all new\n // nodes created within that document will be the result of script and\n // should be handled by patching.\n const readyState = this._document.readyState;\n if (readyState === 'interactive' || readyState === 'complete') {\n this.disconnect();\n }\n\n for (let i = 0; i < mutations.length; i++) {\n const addedNodes = mutations[i].addedNodes;\n for (let j = 0; j < addedNodes.length; j++) {\n const node = addedNodes[j];\n this._internals.patchAndUpgradeTree(node);\n }\n }\n }\n}\n","import CustomElementInternals from './CustomElementInternals.js';\nimport DocumentConstructionObserver from './DocumentConstructionObserver.js';\nimport Deferred from './Deferred.js';\nimport * as Utilities from './Utilities.js';\n\n/**\n * @unrestricted\n */\nexport default class CustomElementRegistry {\n\n /**\n * @param {!CustomElementInternals} internals\n */\n constructor(internals) {\n /**\n * @private\n * @type {boolean}\n */\n this._elementDefinitionIsRunning = false;\n\n /**\n * @private\n * @type {!CustomElementInternals}\n */\n this._internals = internals;\n\n /**\n * @private\n * @type {!Map<string, !Deferred<undefined>>}\n */\n this._whenDefinedDeferred = new Map();\n\n /**\n * The default flush callback triggers the document walk synchronously.\n * @private\n * @type {!Function}\n */\n this._flushCallback = fn => fn();\n\n /**\n * @private\n * @type {boolean}\n */\n this._flushPending = false;\n\n /**\n * @private\n * @type {!Array<!CustomElementDefinition>}\n */\n this._pendingDefinitions = [];\n\n /**\n * @private\n * @type {!DocumentConstructionObserver}\n */\n this._documentConstructionObserver = new DocumentConstructionObserver(internals, document);\n }\n\n /**\n * @param {string} localName\n * @param {!Function} constructor\n */\n define(localName, constructor) {\n if (!(constructor instanceof Function)) {\n throw new TypeError('Custom element constructors must be functions.');\n }\n\n if (!Utilities.isValidCustomElementName(localName)) {\n throw new SyntaxError(`The element name '${localName}' is not valid.`);\n }\n\n if (this._internals.localNameToDefinition(localName)) {\n throw new Error(`A custom element with name '${localName}' has already been defined.`);\n }\n\n if (this._elementDefinitionIsRunning) {\n throw new Error('A custom element is already being defined.');\n }\n this._elementDefinitionIsRunning = true;\n\n let connectedCallback;\n let disconnectedCallback;\n let adoptedCallback;\n let attributeChangedCallback;\n let observedAttributes;\n try {\n /** @type {!Object} */\n const prototype = constructor.prototype;\n if (!(prototype instanceof Object)) {\n throw new TypeError('The custom element constructor\\'s prototype is not an object.');\n }\n\n function getCallback(name) {\n const callbackValue = prototype[name];\n if (callbackValue !== undefined && !(callbackValue instanceof Function)) {\n throw new Error(`The '${name}' callback must be a function.`);\n }\n return callbackValue;\n }\n\n connectedCallback = getCallback('connectedCallback');\n disconnectedCallback = getCallback('disconnectedCallback');\n adoptedCallback = getCallback('adoptedCallback');\n attributeChangedCallback = getCallback('attributeChangedCallback');\n observedAttributes = constructor['observedAttributes'] || [];\n } catch (e) {\n return;\n } finally {\n this._elementDefinitionIsRunning = false;\n }\n\n const definition = {\n localName,\n constructorFunction: constructor,\n connectedCallback,\n disconnectedCallback,\n adoptedCallback,\n attributeChangedCallback,\n observedAttributes,\n constructionStack: [],\n };\n\n this._internals.setDefinition(localName, definition);\n this._pendingDefinitions.push(definition);\n\n // If we've already called the flush callback and it hasn't called back yet,\n // don't call it again.\n if (!this._flushPending) {\n this._flushPending = true;\n this._flushCallback(() => this._flush());\n }\n }\n\n upgrade(element) {\n this._internals.patchAndUpgradeTree(element);\n }\n\n _flush() {\n // If no new definitions were defined, don't attempt to flush. This could\n // happen if a flush callback keeps the function it is given and calls it\n // multiple times.\n if (this._flushPending === false) return;\n this._flushPending = false;\n\n const pendingDefinitions = this._pendingDefinitions;\n\n /**\n * Unupgraded elements with definitions that were defined *before* the last\n * flush, in document order.\n * @type {!Array<!HTMLElement>}\n */\n const elementsWithStableDefinitions = [];\n\n /**\n * A map from `localName`s of definitions that were defined *after* the last\n * flush to unupgraded elements matching that definition, in document order.\n * @type {!Map<string, !Array<!HTMLElement>>}\n */\n const elementsWithPendingDefinitions = new Map();\n for (let i = 0; i < pendingDefinitions.length; i++) {\n elementsWithPendingDefinitions.set(pendingDefinitions[i].localName, []);\n }\n\n this._internals.patchAndUpgradeTree(document, {\n upgrade: element => {\n // Ignore the element if it has already upgraded or failed to upgrade.\n if (element.__CE_state !== undefined) return;\n\n const localName = element.localName;\n\n // If there is an applicable pending definition for the element, add the\n // element to the list of elements to be upgraded with that definition.\n const pendingElements = elementsWithPendingDefinitions.get(localName);\n if (pendingElements) {\n pendingElements.push(element);\n // If there is *any other* applicable definition for the element, add it\n // to the list of elements with stable definitions that need to be upgraded.\n } else if (this._internals.localNameToDefinition(localName)) {\n elementsWithStableDefinitions.push(element);\n }\n },\n });\n\n // Upgrade elements with 'stable' definitions first.\n for (let i = 0; i < elementsWithStableDefinitions.length; i++) {\n this._internals.upgradeElement(elementsWithStableDefinitions[i]);\n }\n\n // Upgrade elements with 'pending' definitions in the order they were defined.\n while (pendingDefinitions.length > 0) {\n const definition = pendingDefinitions.shift();\n const localName = definition.localName;\n\n // Attempt to upgrade all applicable elements.\n const pendingUpgradableElements = elementsWithPendingDefinitions.get(definition.loca |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sourcemaps are also not needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
@@ -0,0 +1,72 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
package.json as well.
Scrolling through the files I am wondering is there a better way to consume the library instead of copy the files directly to the project
} | ||
} | ||
</style> | ||
<section class="wrapper"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we exclude the content of this page as an .md file so I can be easily modified by the doc guys if needed?
It looks like a pretty static content
Just a suggestion, not sure if we need it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done
packages/playground/app/package.json
Outdated
}, | ||
"dependencies": { | ||
"@primer/css": "^12.3.1", | ||
"npm-run-all": "^4.1.5", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
npm-run-all, replace-in-file and rimraf are most probably dev deps.
Not sure about the @primer/css. By scrolling the PR I did not find its usage but if we do not use it in the runtime just move it to the devDeps.
a54c048
to
054c721
Compare
packages/playground/src/package.json
Outdated
@@ -0,0 +1,34 @@ | |||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there should be a single package json in packages/playground
(so this one in src
should be extracted one level up.
packages/playground/src/package.json
Outdated
"scripts": { | ||
"test": "stylelint '**/*.scss'", | ||
"build": "npm-run-all --parallel prepare:** && bundle exec jekyll build --source ./ --destination ../dist", | ||
"build:samples": "cd ../../main && nps build.samples", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of building main, we should treat it as a dependency and rely on the root build to build the playground after main.
here we should directly consume the dist folder of main (like main consumes base and does not build it)
ba374a7
to
2ff3eb9
Compare
When I click on a component from the sidebar, the new component is loaded and then the side bar scrolls to the bottom which is very strange. You can reproduce it with a smaller browser height. |
…components into build-new-playground
Decide to fix or not but there are things I don't like:
|