Skip to content
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

✨ 🏗 Move over Bento src code from amphtml #13

Closed
wants to merge 212 commits into from

Commits on Mar 31, 2022

  1. 🚀♻️ Custom Elements V1 Polyfill (#17205)

    * tmp
    
    * Fixes
    
    * Wrap HTMLElement if Reflect.construct is available
    
    * Completely isolate code from globals
    
    * Install in child win
    
    * Fix
    
    * Remove document-register-element
    
    * Rename file
    
    * Fix types
    
    * Experimentally use new custom elements polyfill
    
    * Register custom-elements-v1 experiment
    
    * Fix comment
    
    * Include custom elements polyfill with module build
    
    * Fix build system
    
    * Bump build size
    
    * tmp
    
    * Copious comments
    
    * Use CustomElementsV1 in all tests
    
    * Defer MutationObserver start
    
    * Remove unused code
    
    Though I was collecting `connectedCallback` and `disconnectedCallback`, I wan't actually using these values. I was calling them directly off the prototye intead.
    
    While not spec compliant, it's good enough. It also saves bytes.
    
    * Add todos
    
    * Fix describes
    
    * Update form-proxy inheritance to account for polyfill
    
    * Fix "dangerous use of global this"
    
    * Review comments
    
    * Use V1 in tests
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    4a0f2c0 View commit details
    Browse the repository at this point in the history
  2. preprocess single pass generated code with babel transformers (#17374)

    * fix parenthesis removal when preprocessing with babel
    
    * add preprocessing
    
    * add tmp directory to module_root path
    
    * assert removal must be post process instead of pre process to appease type checking
    
    * temp
    
    * add more explanation
    
    * add tracking issue to comment hacks
    erwinmombay authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    498f7bb View commit details
    Browse the repository at this point in the history
  3. Synchronous Custom Elements Polyfill (#19305)

    * Synchronous custom elements
    
    * Update src/polyfills/custom-elements.js
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    699c33f View commit details
    Browse the repository at this point in the history
  4. Allow forcing the Custom Elements V1 Polyfill (#18190)

    * Allow forcing the Custom Elements V1 Polyfill
    
    Omitting the `ctor` when installing the CE V1 polyfill will now force
    the full polyfill installation, since we can't properly test if Native
    Classes are being used (necessary for proper native support).
    
    This will allow us to launch the new polyfill without native CE support,
    which is the riskiest part of the transition.
    
    * Rethrow Custom Element callbacks out-of-loop
    
    * Patch the prototype, not the instance
    
    * Track shadow trees
    
    * Fix types
    
    * Support createShadowRoot
    
    * Fix shadow amp
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f1084eb View commit details
    Browse the repository at this point in the history
  5. 🐛 web-worker: Set error reporter (#21855)

    * web-worker: Set error reporter
    
    - Set an error reporter in web-worker so dev().error() can be used
      without erroring-out itself.
    - Revise several oft-imported classes to allow importing within a
      document-less context.
    
    * web-worker: Spelling correction
    
    * polyfills: Add comments, improve readability
    mattwomple authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b3109eb View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7834159 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8e1c513 View commit details
    Browse the repository at this point in the history
  8. 🐛 CEv1: Only upgrade nodes if ownerDocument matches registry doc (#24…

    …468)
    
    * CEv1: Only upgrade nodes if ownerDocument matches registry doc
    
    There was a bug where cloning in/out of a `<template>` would upgrade the custom element nodes even if the tree belonged to the template's document (which is distinct from the page's document).
    
    * Avoid "global" this usage
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b6da0be View commit details
    Browse the repository at this point in the history
  9. 🐛 Use __proto__ instead of setPrototypeOf (#24781)

    * Use __proto__ instead of setPrototypeOf
    
    We're getting an error from `setPrototypeOf` somehow not being a method on `Object`.
    
    * WHY DO I ALWAYS DO THIS?!?!
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6f58578 View commit details
    Browse the repository at this point in the history
  10. ✨ Launch Custom Elements v1 Polyfill (#25141)

    * Launch Custom Elements v1 Polyfill
    
    There don't seem to be any errors. Let's launch!
    
    * Always use customElements registry
    
    * Fix isPatched check
    
    IE11 doesn't have `"[native code]"`, instead it returns `"[object HTMLElement]"`. Well,  if there's no CE, then we obviously need to polyfill anyways.
    
    * Fix IE11 innerHTML overwrite
    
    IE11 puts the `innerHTML` accessor on `HTMLElement.prototype`, not `Element.prototype`. And we've already replaced `HTMLElement` with our polyfill class. That polyfill class directly inherits from the native `HTMLElement`, so we can access it via the `__proto__` field.
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2bd3d03 View commit details
    Browse the repository at this point in the history
  11. Fix Custom Element instance creation in IE11 (#25245)

    When we transpile `super` in Custom Element subclasses, we change it to
    `superClass.call(this)` (where `superClass` is `HTMLElementPolyfill`).
    That `.call` value is inherited from `Function.prototype`.  But, IE11's
    native HTMLElement hierarchy doesn't extend from Function!  And because
    `HTMLElementPolyfill` extends from `HTMLElement`, it doesn't have a
    `.call`! So we need to manually install it.
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    805dc6f View commit details
    Browse the repository at this point in the history
  12. 🐛 Upgrade shadow root contents when defining new CEs (#25337)

    * Upgrade shadow root contents when defining new CEs
    
    When we've already initialized the the custom element registry, it used to drop the list of shadow roots. When a new CE was defined, we would then only query the host `document` (since we dropped all the shadow roots from the array). Obviously, that query selector won't find CEs inside the shadow tree.
    
    So, we need to keep the list of shadow roots, that way we can query inside them when defining new custom elements.
    
    Note, this will mean leaking every shadow permenantly. Even if the shadow's host is removed from the document, we'll still have to keep its reference. We could setup a long running interval to find disconnected trees, but it wouldn't be able to tell the difference between a temporarily disconneded shadow and a destoyed shadow.
    
    * Fix comment
    
    * Remove unused private
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6fcc55c View commit details
    Browse the repository at this point in the history
  13. Change to using setTimeout to avoid muted unhandledrejections (#25342)

    It also directly calls into the globally installed error reporting function.
    
    Re: ampproject/amphtml#25289
    
    It seems HTML spec is unlikely to change: whatwg/html#5051
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    620ee01 View commit details
    Browse the repository at this point in the history
  14. Fix transpiled detection in CEv1 polyfill (#25490)

    Closure compiler was eliminating the `opt_ctor.call(instance)` line as useless. This had no real effect on us, because we're transpiling our code.
    
    But, in a world where we shipped native `class` code to browsers, this would have resulted in use wrapping the `HTMLElement` class unnecessarily. Not the full polyfill, but the minimal polyfill.
    
    Fixing this will allow us to eventually use no polyfill on when we ship native classes.
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    4e02975 View commit details
    Browse the repository at this point in the history
  15. 🐛 CEv1: Support IE10 (#25801)

    * CEv1: Support IE10
    
    This adds IE10 support to the Custom Elements v1 polyfill. IE10 doesn't support `Object.setPrototypeOf`, so we must fake it by recursively copying over all properties from the prototype to the base object.
    
    * Fix
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    5e872a2 View commit details
    Browse the repository at this point in the history
  16. 🐛 CEv1: copy properties from prototype chain in IE10 (#25832)

    * Remove Object param
    
    * Test and fix copyProperties
    
    * fix
    
    * fix
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2d32b5e View commit details
    Browse the repository at this point in the history
  17. ✨ Initial PreactBaseElement (#25969)

    * Add new rewrite-imports babel plugin
    
    This plugin transforms the collquial name into the fully qualified import path.
    
    This is necessary for the new preact integrations, since `preact/hooks` actually does `import * from 'preact'`. We can't directly import `preact` like that, it has to be the `preact/dist/preact.module.js` path so Closure will work correctly.
    
    * Simplify ExportDeclaration visitor
    
    * Copyright year
    
    * Lint
    
    * Simplify
    
    * use package.json field to resolve to module
    
    * tmp
    
    * tmp
    
    * tmp
    
    * tmp
    
    * Import directly from preact
    
    * Use amp-context notify to sync with Resource
    
    * Tests
    
    * Remove useless break
    
    * Fix types
    
    * Fix defs naming clash
    
    * Use matches helper
    
    * Update validator-amp-date-display.out
    
    * Fix issues with module compilation in single-pass
    
    * Just import from the full worker-dom source
    
    * Update copyright year
    
    * Undo example layout change
    
    * Reorder functions
    
    * Remove getContextFromDom
    
    * Switch to using vsync system
    
    * Simplify preact utils
    
    * Require experiment to be on
    
    * fix type
    
    * Use object-spread
    
    * Flip prop-attrs definition
    
    * Separate dom-rendering concern from amp-date-display
    
    * Fix arguments
    
    * Add required useResourcesNotify
    
    * Fix tests
    
    * Add preact modules to the sources list
    
    * Include preact package.json
    
    * Fix name mangling of properties
    
    * Split out Preact components into their own files
    
    * Move PreactBaseElement into src/preact dir
    
    * Remove unused code
    
    * Update copyright years
    
    * Types
    
    * Remove unused imports
    
    * Patch preact with types
    
    * Fully type Preact API by using intermediate module
    
    * Strengthen types
    
    * Types and minification
    
    * React tests
    
    * Fix sinon imports
    
    * Rearrange methods
    
    * Lint
    
    * Remove file
    
    * Convert PreactBaseElement into a subclass-able subclass
    
    * Convert to static fields
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    cfd2609 View commit details
    Browse the repository at this point in the history
  18. 📦 Update dependency google-closure-compiler to v20200112 (#26332)

    * 📦 Update dependency google-closure-compiler to v20200112
    
    * Fix `gulp check-types`
    
    * Fix `gulp validator`
    
    Co-authored-by: Raghu Simha <rsimha@amp.dev>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7573e16 View commit details
    Browse the repository at this point in the history
  19. 🏗️ Use typeof type where appropriate (#26355)

    * Use typeof instead of new
    
    * Change Function to a typeof Constructor
    
    * lint
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6ad4eae View commit details
    Browse the repository at this point in the history
  20. ✨ Launch minimal-wrapper native CEv1 (#26360)

    * Launch minmal wrapper native CEv1
    
    * Add comment
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    18c0d8e View commit details
    Browse the repository at this point in the history
  21. 🏗 Allow JSX syntax (#26903)

    * Allow JSX syntax
    
    * Add react transform
    
    * Switch to Preact namespace
    
    * Copy sourcemaps for pre-closure babel transforms
    
    * Fix packages
    
    * Add preact eslint rule
    
    * Fixup plugins and sourcemaps
    
    * lint
    
    * Update Preact Types Defs
    
    * Undo sourcemap changes
    
    * Fix leading comments
    
    React constant elements was hoisting a cached value between the JSDoc comment and value it annotated. This is beacuse the comment was actually attached to the previous node as a trailing comment.
    
    * Fix Fragment reference
    
    * Perform single-pass browserify crawl in TMP directory
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2c75576 View commit details
    Browse the repository at this point in the history
  22. 🐛 Use quoted properties to prevent Closure's DCE (#27212)

    * Use quoted properties to prevent Closure's DCE
    
    * Fix mangling
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7743bb8 View commit details
    Browse the repository at this point in the history
  23. ✨Initial amp-social-share Bento component (#26543)

    * Initial social share v2
    
    * Clean up manual example
    
    * Replace CSS approach with AmpContext approach
    
    * General cleanup
    
    * Pass in props['children']
    
    * Rename and alphabetize props
    
    * Remove handleClick
    
    * Allow multiple renders
    
    * Replace querySelectorAll with querySelector
    
    * Quote properties in return
    
    * Isolate AMP-only services
    
    * Add comments
    
    * Update example page
    
    * TAG as first param to user().warn()
    
    * Fix types
    
    * Restore CSS file to be duplicate from v1
    
    * Unreigster built CSS from v2
    
    * Use SVGs as JSX
    
    * amp-social-share takes no children
    
    * Import and pass props to SVG
    
    * Import styles
    
    * Remove unused imports
    
    * Styles are objects
    
    * Name default values
    
    * Remove CSS file
    
    * Same latestVersion
    
    * 3p dep check allowlist
    
    * Remove unused properties
    
    * Quote properties
    
    * Justin comments
    
    * Check layout=responsive in amp-social-share
    
    * Wrap init return in dict
    
    * Restore old example page indentations
    
    * Force transform social-share-svgs
    
    * Fix type
    
    * Clear indents
    
    * Make context_ protected (Is this OK?)
    
    * Rename 3p glob variable and add comment for it
    
    * Quoted PreactBaseElement properties
    
    * Use `micromatch` to check file against 3p glob
    
    * Move out module fns
    
    * s/ownerDocument/document
    
    * Dima comments
    
    * Remove assertions and add PropTypes
    
    * Quote properties and checkPropTypes
    
    * Fix PropType import
    
    * Do not use context for url
    
    * Remove amp-social-share- classname
    
    * useDefaultDimensions prop
    
    * Remove PropTypes
    
    * Default sizing logic
    
    * Define and use mutateProps
    
    * Size div[role=button]
    
    * Default return svg with props
    
    * Check defaultProps_ not null/undefined
    
    * Rename getHrefAndTarget and update comments
    
    * No return
    
    * Simplify responsive logic
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    eed98ab View commit details
    Browse the repository at this point in the history
  24. Simplify mutateProps in PreactBaseElement (#27354)

    * Simplify mutateProps
    
    * Add type annotation
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ece22be View commit details
    Browse the repository at this point in the history
  25. 📦 Update dependency prettier to v2 (#27350)

    * 📦 Update dependency prettier to v2
    
    * Fix all JS files with Prettier v2
    
    Co-authored-by: Raghu Simha <rsimha@amp.dev>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f768037 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    ef3a8c3 View commit details
    Browse the repository at this point in the history
  27. 🐛 CEv1: Fix innerHTML patch in Safari <= 9 and maybe Yandex (#28086)

    * CEv1: Fix innerHTML patch in Safari <= 9
    
    Old Safari has an interesting definition for `Element.p.innerHTML`: the descriptor is non-configurable and the `set` setter is undefined. In the old code, trying to patch this setter throws an error.
    
    This leaves the document in a broken state. The first CE to be defined will not properly upgrade the elements that existed were already parsed on the page. Additionally, `innerHTML` will not properly sync-upgrade CEs that are parsed from the string, but they will async-upgrade via the `MutationObserver`.
    
    Skipping this `innerHTML` patch shouldn't hurt, since we'll still get the async-upgrade. Safari 9 is sooo old, all we really need here is a best-effort "it kinda works".
    
    * Add potential fix for Yandex not having a innerHTML descriptor
    
    * Add tests for innerHTML patch
    
    * Add browser names to test cases
    
    * Fix test skipping
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6490774 View commit details
    Browse the repository at this point in the history
  28. 🏗🚮 Remove AmpPass.java (#24047)

    rsimha authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    05d38da View commit details
    Browse the repository at this point in the history
  29. 📦 Update dependency eslint-plugin-react-hooks to v4 (#28160)

    * 📦 Update dependency eslint-plugin-react-hooks to v4
    
    * Fix lint errors
    
    * Fix type
    
    Co-authored-by: Justin Ridgewell <jridgewell@google.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    4bc1257 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    df45a30 View commit details
    Browse the repository at this point in the history
  31. ✨ [amp-fit-text] Initial Bento component (#28169)

    * Create Storybook examples
    
    * Prototype
    
    * Move dimensions props
    
    * Dima CSS comments
    
    * Add mutation observers and use shadow DOM
    
    * Remove measurer div
    
    * Update extension binary in AMP storybook
    
    * Disconnect ResizeObserver instead
    
    * useCallback type annotation
    
    * Add comment for child mutationobserver
    
    * Clean up useCallback and remove use of useState
    
    * Use useLayoutEffect instead of useEffect
    
    * Check node earlier
    
    * General clean up (lint and such)
    
    * Define getFontSizeAttrs
    
    * Add knobs
    
    * Copy v1 e2e tests for ampdoc-presets
    
    * useCallback can take a callback with return value
    
    * Add MutationObserverInit options
    
    * Add more knobs to Storybook
    
    * Version bump to 1.0, not 0.2
    
    * Move dimensions out of getFontSizeAttrs
    
    * Update 0.2 -> 1.0 for e2e test fixture
    
    * Remove no-rest for objects
    
    * Use ...rest
    
    * Do not observe attribute mutations in subtree for now
    
    * resetStyles instead of setStyles({})
    
    * Remove width/height props
    
    * Dima remaining comments
    
    * Skip e2e tests for now
    
    * Do not use offset dimensions
    
    * Change to v1.0
    
    * resize() takes no arguments
    
    * Call resize
    
    * Jake comments
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c6c6232 View commit details
    Browse the repository at this point in the history
  32. [amp-selector] Initial Bento component (#27365)

    * Prototype
    
    * Add non-nested example
    
    * Delete unit tests
    
    * Attach slots
    
    * Get option imperatively for AMP mode
    
    * Register CSS on AMP layer
    
    * Support multiple, disabled, aria attrs
    
    * Prettier update
    
    * General cleanup
    
    * Allow selector to pass its own children
    
    * Hoist helper functions
    
    * Comment about mutations
    
    * Comment about styles
    
    * Dima comments
    
    * Remove form attr
    
    * Clean up `onChange` usage
    
    * Remove isArray import
    
    * Add storybook samples
    
    * Remove attachShadow prop from PreactBaseElement
    
    * Use ...rest
    
    * DO NOT MERGE: Replace with local binaries
    
    * Update Preact storybook
    
    * Expose `select` event on amp-selector
    
    * Use detached fragment
    
    * Remove unnecessary select logic
    
    * Allow attribute props to be type boolean
    
    * Remove defaultValue for now
    
    * child.parentElement should not be null
    
    * Use SelectorShim bridge to component
    
    * Propagate amp-selector[disabled]
    
    * `omit` is an object
    
    * Remove type cast
    
    * Expose AMP actions on amp-selector
    
    * MutationObserver causes double render
    
    * Restore MutationObserver but control for expected render
    
    * Improve Preact storybook example
    
    * Remove console statement
    
    * Move methods out of init()
    
    * Use useLayoutEffect
    
    * Use ??
    
    * Clean up prop access, remove ...rest for now
    
    * Clean up prop access, remove ...rest for now
    
    * Resolve storybook a11y violations
    
    * Add disabled option to storybook
    
    * Use useMemo
    
    * return useMemo callback inline
    
    * Reverse condition for onClick
    
    * Show pointer to unselect multiselect items
    
    * Remove useMemo from TODO
    
    * Remove no-rest for objects
    
    * Use ...rest
    
    * Set aria attributes instead of toggling
    
    * Propagate multiple prop
    
    * Return something from OptionShim
    
    * Allow detached mode
    
    * Remove TODO about forms
    
    * 0.2 -> 1.0
    
    * "detached" is an exclusive rendering mode
    
    * Add comment for select action
    
    * Revert storybook decorator
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c1f4683 View commit details
    Browse the repository at this point in the history
  33. Support layout=responsive in PreactBaseElement (#28482)

    * Add responsive storybook sample
    
    * Make a slot for i-amphtml-sizer
    
    * Make amp-fit-text position:absolute
    
    * Add responsive amp-social-share Storybook sample
    
    * Add responsive amp-selector Storybook sample
    
    * Add amp-date-display and amp-timeago Storybooks
    
    * Use generic "i-amphtml-svc" slot name
    
    * Rename slot as serviceSlot
    
    * Unit test for the slot
    
    * Support and test for layout=intrinsic
    
    * Add `slot` attribute to pre-rendered sizer
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8206618 View commit details
    Browse the repository at this point in the history
  34. [Carousel]: Initial Preact Component (#28704)

    * Add Storybook samples
    
    * Preact prototype
    
    * Hide scrollbar with CSS
    
    * div[role=button] does not respect disabled attribute
    
    * Add example that loops
    
    * Support "loop" property
    
    * Dima comments
    
    * Move /* OK */s
    
    * Show slide number in sample
    
    * Add unit tests
    
    * Alphabetize props
    
    * Remove useStateFromProp
    
    * Custom arrows should have styles
    
    * Allow configuring slide number in default example
    
    * Add and use toChildArray
    
    * Review comments
    
    * Remove direct dot access
    
    * Smooth scroll on Arrow button navigation
    
    * Clean up scroll behavior
    
    * Update src/preact/index.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Review comments
    
    * (empty)
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7ae8c2c View commit details
    Browse the repository at this point in the history
  35. PropTypes: update Preact externs and use in more components (#29326)

    * PropTypes: update Preact externs and use in more components
    
    * review fixes
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    d7a26c7 View commit details
    Browse the repository at this point in the history
  36. Preact: change the Context and useContext typing to support any type …

    …(#29344)
    
    * Preact: change the Context and useContext typing to support any type
    
    * review fixes
    
    * remove optional arg from createConteext
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    502ed40 View commit details
    Browse the repository at this point in the history
  37. ✨ [bento] Add passthroughNonEmpty mode for handling children in Bento…

    … (#29367)
    
    * Add passthroughNonEmpty mode for handling children in Bento
    
    * Add check for text nodes
    
    * Added comment for nodeType
    
    * Flaky visual diff
    
    * empty commit
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9f42c1f View commit details
    Browse the repository at this point in the history
  38. ✨ [bento] Add mutation observer to 'passthroughNonEmpty' children mod…

    …e in base-element (#29436)
    
    * Add mutation observer to amp-social-share
    
    * Update to call scheduleRender instead of mutateProps
    
    * Move mutation observer to base-element
    
    * Set default behavior for passthroughNonEmpty (not configurable)
    
    * Update type definition
    
    * Move Mutation Observer options to a module level const
    
    * Update constant value and add newline
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9b64b0f View commit details
    Browse the repository at this point in the history
  39. Bento: contain wrapper for most typical embedding scenarios (#29504)

    * Bento: contain wrapper for most typical embedding scenarios
    
    * move ...rest up top
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8417820 View commit details
    Browse the repository at this point in the history
  40. ✨ [Carousel]: Initial amp-base-carousel Bento component (#29303)

    * AMP prototype
    
    * Register events and actions
    
    * Introduce typedefs
    
    * Temporarily remove ...rest
    
    * Restore JSX and ...rest (causes type errors)
    
    * Rename typedefs and restore comment
    
    * Use BaseCarouselDef namespace
    
    * Use useMountEffect
    
    * Review comments
    
    * Fix prefer-destructuring to support rest properties
    
    * Update extensions/amp-base-carousel/1.0/base-carousel.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Restore 0.1 in sample
    
    * Add unit tests
    
    * Add examples with captioned images
    
    * Review comments
    
    * Add sizing CSS to Preact layer
    
    * Review comments
    
    * Remove owners system usage
    
    * Remove controlled/uncontrolled pattern
    
    * Remove defaultSlide from Storybook
    
    * Remove ref from dep array
    
    * Remove AMP extension CSS
    
    Co-authored-by: Justin Ridgewell <jridgewell@google.com>
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    3 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    21ffb60 View commit details
    Browse the repository at this point in the history
  41. Support forwardRef (#29505)

    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9628584 View commit details
    Browse the repository at this point in the history
  42. Preliminary boilerplate and poc for shadow stylesheets (#29551)

    * Preliminary pattern for shadow stylesheets
    
    * review fixes
    
    * skip tests correctly
    
    * Fix tests
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2419e2c View commit details
    Browse the repository at this point in the history
  43. ♻️ Carousel: Use forwardRef (#29650)

    * Use forwardRef
    
    * Add preact/compat to sources
    
    * createRef -> useRef
    
    * Rename, move Scrollers to scroller.js (lint error)
    
    * Use useImperativeHandle
    
    * Update comment
    
    * Remove ref from dependency array
    
    * Export in a separate line
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    27476df View commit details
    Browse the repository at this point in the history
  44. Bento: standardize mutation observer (#29992)

    * Bento: standardize mutation observer
    
    * review fixes
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    4e40b73 View commit details
    Browse the repository at this point in the history
  45. Export imperative API from carousel (#30046)

    * Export imperative API from carousel
    
    * review fixes
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2841282 View commit details
    Browse the repository at this point in the history
  46. Support server-side-rendered shadow roots (#30027)

    * Support server-side-rendered shadow roots
    
    * tests
    
    * tests for rendering after hydrations
    
    * lints
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    e1b89f7 View commit details
    Browse the repository at this point in the history
  47. Inline gallery: AMP components with context propagation (#30077)

    * Inline gallery: AMP components with context propagation
    
    * minors
    
    * fix dep check
    
    * review fixes
    
    * Review fixes for experiments and waitFor moved to commons
    
    * review fixes
    
    * resync
    
    * test fixes
    
    * minor fixes
    
    * switch to layout effects to make tests more deterministics
    
    * fix tests
    
    * still fixing tests
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    dcc05ff View commit details
    Browse the repository at this point in the history
  48. Declare types for AmpContext (#30102)

    * Declare types for AmpContext
    
    * small cleanup
    
    * memoize context
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c473382 View commit details
    Browse the repository at this point in the history
  49. Migrate pagination styles to JSS (#30125)

    * Migrate pagination styles to JSS
    
    * Wrapper for non-contain-size elements
    
    * fix sizing-defining layout
    
    * fix jss
    
    * review fixes
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9e52bca View commit details
    Browse the repository at this point in the history
  50. Timeago: fix placeholder and wrapper (#30187)

    * Timeago: fix placeholder and wrapper
    
    * fixed types
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8126258 View commit details
    Browse the repository at this point in the history
  51. Multi-attribute prop bindings for date components (#30228)

    * Multi-attribute prop bindings for date components
    
    * fix presubmits
    
    * fix tests
    
    * review fixes
    
    * cleanup
    
    * type cleanup
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2a540dd View commit details
    Browse the repository at this point in the history
  52. amp-date-display: render via __html string (#30226)

    * amp-date-display: render via __html string
    
    * cleanup defaults
    
    * cleanup RendererFunctionResponseType
    
    * tests
    
    * more tests
    
    * amp-date-display has to use div
    
    * fixed tests
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a7f3a0f View commit details
    Browse the repository at this point in the history
  53. ✨ Clone children as VNodes into component call (#30287)

    This is useful when DOM nodes aren't drawn so they're used only for render definition on a Preact component, e.g.
    
    ```html
    <amp-video>
      <source src="...">
    </amp-video>
    ```
    
    With component config:
    
    ```js
    AmpVideo['children'] = {
      'sources': {
        name: 'children',
        selector: 'source',
        single: false,
        clone: true,
      },
    };
    ```
    
    Would then receive as part of `props`:
    
    ```js
    {children: [<source src="...">]}
    ```
    
    This is a shallow copy, which is enough for `amp-video`.
    
    For other use cases, it should be considered that:
    
    - indirect descendants are not cloned
    - mutations done on children are not observed (but the AMP element's `childList` is, so nodes can be swapped.)
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ba24c11 View commit details
    Browse the repository at this point in the history
  54. Implement context props and integrate with Preact context (#30282)

    * Implement context props and integrate with Preact context
    
    * review fixes
    
    * Mark all unslotted children in a group with CanRender=false
    
    * pick up slot unmounting
    
    * lints
    
    * tests
    
    * fixed some tests
    
    * tests fixed for carousel
    
    * AMP tests fixed for empty placeholders
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    71c6884 View commit details
    Browse the repository at this point in the history
  55. ✨ PreactBaseElement['staticProps'] (#30380)

    Related to #30280
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    12c8bc2 View commit details
    Browse the repository at this point in the history
  56. Fix default props (#30412)

    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ebb6411 View commit details
    Browse the repository at this point in the history
  57. Remove useMountEffect (#30325)

    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    af0adba View commit details
    Browse the repository at this point in the history
  58. Clarify layoutSizeDefined and provide default isLayoutSupported (#30439)

    * Clarify layoutSizeDefined and provide default isLayoutSupported
    
    * Remove experiment idea
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b366eaa View commit details
    Browse the repository at this point in the history
  59. Accordion bento component outline (#30446)

    * Accordion bento component outline
    
    * cleanup
    
    * Section registration redo
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    30a11db View commit details
    Browse the repository at this point in the history
  60. Polyfill String.prototype.startsWith (#30579)

    * Polyfill String.prototype.startsWith
    
    * update date
    
    * jridgewell comments
    
    * fix polyfill 3p dep map
    
    * another dep
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ad392cc View commit details
    Browse the repository at this point in the history
  61. ✨ Added support for attribute prefixes in PreactBaseElement (#30639)

    * Added support for data prefixes. Ex. data-param-*
    
    * Added testing of attribute prefixes
    
    * Addressed comments. Mutation check handled, tests more fleshed out.
    
    * Removed startsWith to be consistent with master
    
    * Addressed comments (handled def.attrPrefix === attrib.name)
    
    * Addressed nits.
    
    * Fixed gulp check-types error
    realPrimoh authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    22ac7fb View commit details
    Browse the repository at this point in the history
  62. Addressed nits (#30848)

    realPrimoh authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    65b2bbb View commit details
    Browse the repository at this point in the history
  63. Bento: media attribute/prop values (#30870)

    * Bento: media attribute/prop values
    
    * more base-carousel props are media-query-based
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    52d6400 View commit details
    Browse the repository at this point in the history
  64. Bento: enable boolean-string values (#30898)

    * Bento: enable boolean-string values
    
    * switch to !== false
    
    * remove type defaults
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6bb6e3d View commit details
    Browse the repository at this point in the history
  65. ✨ [bento][amp-accordion] Add Imperative API for amp-accordion with Te…

    …sts and Storybook (#30754)
    
    * Draft imperative api changes for accordion
    
    * Basic outline of preact imperative API
    
    * Next revision accordion
    
    * Imperative API for AMP, tests, and storybook
    
    * Fix a few small items
    
    * Fix a few small items
    
    * Address review comments
    
    * Updates for gulp check-types
    
    * Mark forbidden terms as *OK*
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    64ae4ed View commit details
    Browse the repository at this point in the history
  66. Bento: unmount/remount component on DOM disconnect/reconnect (#30955)

    * Bento: unmount/remount component on DOM disconnect/reconnect
    
    * remove .only
    
    * fixing tests
    
    * simplify a bit
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8fccd36 View commit details
    Browse the repository at this point in the history
  67. InlineGallery: Thumbnails Preact component (#30867)

    * Prototype
    
    * Dima comments
    
    * Support aspectRatio
    
    * Share slides through context
    
    * Add aspectRatio comment
    
    * Remove unused useLayoutEffect
    
    * Add unit tests
    
    * Add AMP layer
    
    * Remove unused import
    
    * Add dependency allowances
    
    * Remove extra space
    
    * Prefer single aspect-ratio attribute
    
    * Use useContext
    
    * Watch for container height
    
    * _thumbnails can modify currentSlide
    
    * Include Thumbnail CSS in AMP layer
    
    * Prefer wrap to clone
    
    * Read thumbnailSrc prop
    
    * Update type definition
    
    * Use local window in Stream Gallery
    
    * Update AMP layer
    
    * Remove unused dep check
    
    * Support data-thumbnail-src
    
    * Fix Thumbnail default styling
    
    * Parse children prop defs in PreactBaseElement
    
    * Add loading="lazy"
    
    * Use media query in useEffect
    
    * Add unit tests for nested parsing
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    91ce71e View commit details
    Browse the repository at this point in the history
  68. 🚀 Remove a few IE fallbacks from module build (#31297)

    There are likely more IE-only fallbacks hanging around in `src`.
    
    dist/v0.mjs: Δ `-0.43KB`
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f780f0d View commit details
    Browse the repository at this point in the history
  69. Bento Carousel: amp-base-carousel mutable slide attribute (#31318)

    * Allow AMP layer to bind to slide attribute.
    
    * Allow specifying defaultSlide
    
    * Add test for slide attr
    
    * Add defaultSlide to typedef
    
    * Override checkPropsPostMutations
    
    * Introduce and use mutationObserverCallback
    
    * mutationObserverCallback takes no parameters
    
    * Update comment
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b61e23a View commit details
    Browse the repository at this point in the history
  70. [bento][bug-bash][amp-social-share] Update social share to respond on…

    … attribute changes (#31537)
    
    * Update social share to respond on attribute changes
    
    * Use the base elements mutation observer
    
    * Remove debugging statements
    
    * Adding unit tests for component
    
    * Remove customization mutation observer init from component
    
    * Update base element
    
    * Remove es-lint issue
    
    * Review comments
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8895c33 View commit details
    Browse the repository at this point in the history
  71. 🖍 Bento Lightbox: Customizable styles (#31565)

    * Add CSS changes and update Storybook
    
    * Give amp-lightbox visibility:hidden
    
    * Give and style <c> with part="c"
    
    * Give all <c> background:inherit
    
    * style is propagated via ...rest
    
    * Add box-sizing and visibility to jss
    
    * Add note about visibility in css
    
    * Manage visibility in animation sequence
    
    * Add comment for unintuitive style values
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c47b2cc View commit details
    Browse the repository at this point in the history
  72. Fix children ID auto-assignment to avoid duplicates (#31596)

    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    919b3b9 View commit details
    Browse the repository at this point in the history
  73. Propagate playable context from carousel and accordion to video playe…

    …rs (#31600)
    
    * Propagate playable context from carousel and accordion to video players
    
    * tests
    
    * storybooks
    
    * cleanup
    
    * video loading and playback control
    
    * lints
    
    * tests
    
    * dep check fixed
    
    * fix test
    
    * simplify tests a bit
    
    * fix more tests
    
    * fixed amp-ad-exit test
    
    * lints
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    05ea297 View commit details
    Browse the repository at this point in the history
  74. Sync for validator/cpp/htmlparser (#31713)

    No-op PR to get master in sync with Google code. First commit changed README, second commit reverted it.
    MichaelRybak authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b185dab View commit details
    Browse the repository at this point in the history
  75. Bento: expose Imperative API object (#31661)

    * Implement whenUpgraded for Bento Imperative APIs
    
    * Need to wait for the impl, then the API
    
    * Expose API on AMP Elements
    
    Just links to the Impl
    
    * Resolve promise with the wrapped API, not the ref
    
    * Fix incorrect this, use ref holder directly
    
    * Tests and fixes
    
    * Fix type
    
    * Move getApi to BaseElement
    
    * Remove createRef use
    
    * Add private annotations
    
    * Throw err if API shape changes
    
    * Fix jsdoc
    
    * Remove .only test
    
    * Test throw when API surface changes
    
    * Use devAssert
    
    * Type updates
    
    * Add CustomElement.getApi()
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    579016c View commit details
    Browse the repository at this point in the history
  76. Relax layout restrictions for Bento components (#31863)

    * Relax layout restrictions for Bento components
    
    * review fixes
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7cdc8eb View commit details
    Browse the repository at this point in the history
  77. Refactor media-based CE attributes to remove dependency on resource m…

    …anager (#31948)
    
    * Refactor media-based CE attributes to remove dependency on resource manager
    
    * cleanup
    
    * Remove attribute refresh and add tests
    
    * remove applySizesAndMediaQuery
    
    * lints
    
    * make util non-package-private
    
    * Support IE form
    
    * review fixes
    
    * fix removeListener + tests
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ab995a3 View commit details
    Browse the repository at this point in the history
  78. ♿ [bento][social-share] Enable focus highlighting on bento version of…

    … component (#31994)
    
    * Social share focus POC
    
    * add delegate focus and other review comments
    
    * Add immportant to styles
    
    * Add tests and documentation for focus feature
    
    * Update tests to remove flakiness
    
    * Add check for delegates focus
    
    * Update description for class based css rule-set
    
    * Update docs and remove overly specific description
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1113f4f View commit details
    Browse the repository at this point in the history
  79. ✨ [bento][amp-sidebar] Update animations to obey APIs mid-animation (…

    …#32584)
    
    * mostly working
    
    * Update animations to obey apis mid animation
    
    * Clean up typos and style
    
    * Update animation time
    
    * Refactor to custom hook
    
    * Review comments
    
    * Use useValueRef for side and add useValueRef to utils
    
    * Update Direction constant to AnimationState
    
    * Simplify animation states
    
    * Move value ref location
    
    * Removed test code
    
    * Review comments
    
    * Add a comment explaning side
    
    * Tests for animations
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f493471 View commit details
    Browse the repository at this point in the history
  80. ♻️ [amp-selector, amp-accordion] Split component files for packaging …

    …(#32474)
    
    * Split amp-selector component files
    
    * Split amp-accordion component files
    
    * Use PreactBaseElement.triggerEvent to clean up amp-selector
    
    * Lint fixes
    
    * Move hack comment to base-element
    
    * Lint fixes + remove imports
    
    * Move api actions to amp and purify asserts
    
    * Fix accordion imports
    
    * Fix type comment
    
    * Remove unused imports
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7939b0e View commit details
    Browse the repository at this point in the history
  81. ✨ Bento Lightbox Gallery (#32008)

    * Prototype
    
    * Update with deeply nested example
    
    * Preact skeleton
    
    * cloneElement takes a children param
    
    * Adopt new file structure
    
    * Only use WithLightbox
    
    * Make WithLightbox more customizable
    
    * Lightbox content should support scrolling
    
    * Support lightboxing BaseCarousel
    
    * Fix types
    
    * Specify cross-component file dependencies
    
    * Dedupe contentRef and lightboxRef
    
    * With lightbox does not need a ref
    
    * Fix a11y attributes
    
    * Don't render elements until the LightboxGallery opens
    
    * Don't take thumbnailSrc for lightbox
    
    * Split up files
    
    * LightboxGallery -> LightboxGalleryProvider
    
    * Update dependency list
    
    * LightboxGalleryProvider render prop
    
    * Remove key
    
    * Rename autoLightbox as enableActivation
    
    * Update type definitions
    
    * Always render <Comp> layer
    
    * Export directly
    
    * lightbox.js moved to component.js
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    df41749 View commit details
    Browse the repository at this point in the history
  82. Shadow DOM polyfill for elements that need it (#32820)

    * Shadow DOM polyfill for elements that need it
    
    * minors
    
    * tests
    
    * review fixes
    
    * renamed uses to requiresShadowDom
    
    * fix ad tests
    
    * fix esm build
    
    * switch to prepend the polyfill script instead of import
    
    * cleanup
    
    * fix esm build
    
    * add Event polyfill and ensure the right version of HTMLElement is patched
    
    * review fixes
    
    * typos
    
    * update resize oberver to cooperate better with the SD polyfill
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    bb1824b View commit details
    Browse the repository at this point in the history
  83. ♻️ Fixit: Update some imports of assertions to use standalone helpers…

    … (#32828)
    
    * Standalone assert stringify elements, add i-amphtml-error
    
    * Move helpers to separate module
    
    * Fix typo
    
    * Fix typo: The Sequal
    
    * Fix typo
    
    * Fix import
    
    * Update all single imports of devAssert to use standalone helper
    
    * Update all single imports of userAssert to use standalone helper
    
    * fix import path
    
    * allow deps
    
    * Update references to core dir
    
    * remove double imports
    
    * fix dep-check config
    
    * stringify elements
    
    * Fix merge bug
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    3cc5c14 View commit details
    Browse the repository at this point in the history
  84. ♻️ Bento: BaseElement['props'] to include children, passthrough, pass…

    …throughNonEmpty (#32936)
    
    * Make passthrough(NonEmpty) subconfigs of children
    
    * Update usages of passthrough(NonEmpty)
    
    * Move 'children' def into 'props'
    
    * Update usage of BaseElement['children']
    
    * Add unit tests for many children definitions, one with passthrough
    
    * Only pass name back if it's already an object
    
    * Update documentation
    
    * passthrough and passthroughNonEmpty should not be part of ChildDef
    
    * Update types
    
    * Fix amp-youtube and amp-video props
    
    * Get childNodes if getRealChildNodes unavailable
    
    * ?? -> ||
    
    * matchChild should return match
    
    * Front load one-of assertion on props
    
    * Re-separate children and passthrough mutation init
    
    * Add 'usesShadowDom'
    
    * Add Ctor type
    
    * Look for selector to parse children
    
    * Add "selector" example to component generator
    
    * Remove unneeded "children"
    
    * 'usesShadowDom' takes constant
    
    * Extract some and every functions
    
    * Apply changes to amp-sidebar
    
    * Refactor some/every callbacks
    
    * Remove def.name and continue
    
    * Strict types
    
    * Rename to IS_NONEMPTY_TEXT
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    32da241 View commit details
    Browse the repository at this point in the history
  85. ♻️ Guard dependencies in src/{context,core,preact} (#33016)

    * Add eslint comments
    
    * Support subfolders via no-restricted-paths plugin
    
    * Move src/loading to src/core/loading-instructions
    
    * Remove exception for src/preact/context.js
    
    * Update assertions to use src/core/assert
    
    * Move src/contextprops into src/preact
    
    * Restrict imports in `src/context` and allow imports from it
    
    * Remove exception for src/preact/slot.js
    
    * Move loading-instructions into src/preact
    
    * Fix imports
    
    * Fix dev assertion
    
    * Allow warnings in ci builds
    
    * Move loading-instructions into src/core
    
    * Move contextprops into src/core
    
    * Allow import in contextprops
    
    * Review comments
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a976222 View commit details
    Browse the repository at this point in the history
  86. Rename helper (#33089)

    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c9b9525 View commit details
    Browse the repository at this point in the history
  87. Migrate Bento components to V1 (#32974)

    * Migrate Bento components to V1
    
    * V1 tests
    
    * fixed types
    
    * fix types
    
    * Make readyState/loaded as refs, not state
    
    * only send state event when it changes
    
    * Async pause API applied via ResizeObserver
    
    * review fixes
    
    * Redo unloadOnPause
    
    * review fixes
    
    * more comments on unloadOnPause
    
    * fix bad merge
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2e3c301 View commit details
    Browse the repository at this point in the history
  88. 🏗 [bento] Add portals to preact compat (#33213)

    * Add portals to preact compat
    
    * Update container type per review comments
    krdwan authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    d676f3f View commit details
    Browse the repository at this point in the history
  89. V1: mount/unmount concept and automatic scheduling (#33272)

    * V1: mount/unmount concept and automatic scheduling
    
    * fix presubmits
    
    * review fixes
    
    * refactor pause and unload in Resources
    
    * update unload()
    
    * remove race considtion between mount and unmount
    
    * ensure that preloads do not run on unmount
    
    * remove boolean return from  unmountCallback
    
    * keep mount/unmount calls always symmetric
    
    * lots and lots of tests
    
    * more tests
    
    * fix integration tests
    
    * fix tests
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b4c227f View commit details
    Browse the repository at this point in the history
  90. ⏪ Revert import changes for assertions (#33434)

    * Revert import changes for assertions
    
    * Fix import path
    
    * Fix import as
    
    * Fix dep-check-config
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9b5b5f3 View commit details
    Browse the repository at this point in the history
  91. Support non-Bento children of Bento elements (#33450)

    * Support non-Bento children of Bento elements
    
    * review fxies
    
    * move resource-container-helper to utils
    
    * cleanup
    
    * lints
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    708e9a0 View commit details
    Browse the repository at this point in the history
  92. Bento: adopt mount/unmount (#33367)

    * Bento: adopt mount/unmount
    
    * more checks
    
    * fix bad sync
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    41a03a5 View commit details
    Browse the repository at this point in the history
  93. Minor: comment fix (#33502)

    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    e8112b6 View commit details
    Browse the repository at this point in the history
  94. Bento: add container to the lightbox 1.0 (#33488)

    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7eea3e6 View commit details
    Browse the repository at this point in the history
  95. Stop Preact from exposing VNode as ref (#33500)

    * Stop Preact from exposing VNode as ref
    
    * Add a smoke test
    
    * Fix check
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    67f278e View commit details
    Browse the repository at this point in the history
  96. Bento: Generate npm binaries during build/dist (#32742)

    * Move toChildArray to preact compat
    
    * Compile npm binaries with esbuild
    
    * Cleanup
    
    * Fix merge conflicts
    
    * Fix fit-text's package.json exports
    
    * Use the new minified + compileJsWithEsbuild to compile npm modules
    
    * Build npm into extension's dist dir
    
    * Create a preact/dom library
    
    * Ignore the extension's dist dir
    
    * Implement remapping of npm dependencies
    
    * Fix dist compilation
    
    * Implement react remapping
    
    * Peer depend on React
    
    * Remove last traces of extensions/**/build
    
    * Apply suggestions from code review
    
    Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
    
    Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7e6a1e7 View commit details
    Browse the repository at this point in the history
  97. Switch Bento PreactBaseElement to PauseHelper (#33614)

    * Switch Bento PreactBaseElement to PauseHelper
    
    * initialize PauseHelper immediately
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9d4b3fe View commit details
    Browse the repository at this point in the history
  98. Types: fix main extern types (#33699)

    * Fix main extern types
    
    * revert third_party/resize-observer-polyfill/ResizeObserver.install.js
    
    * Support an alternative playsinline spelling
    
    * fix originalHash and srcset
    Dima Voytenko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    74898bd View commit details
    Browse the repository at this point in the history
  99. ♻️ Migrate src/utils/array and src/types array helpers into `core…

    …/types/array` (#33736)
    
    * Move array.js to core/types
    
    * Update src/context devAsserts to use core/assert
    
    * Removed cleaned up files from allowlist
    
    * fix src/context assert imports
    
    * fix remaining array imports
    
    * Move toArray into src/core/types/array
    
    * Move arrayOrSingleItemtoArray into src/core/types/array
    
    * Move isArray into src/core/types/array
    
    * save a few bytes
    
    * Remove context/subscriber from allowlist
    
    * Remove accidental newline
    
    * Revert change to toArray
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    accbd78 View commit details
    Browse the repository at this point in the history
  100. Configuration menu
    Copy the full SHA
    74c7394 View commit details
    Browse the repository at this point in the history
  101. ✨ [amp-twitter] Initial Bento component (#33335)

    * Prototype
    
    * Remove loader comment and unused firstLayoutCompleted
    
    * Move sandbox flags to src/core/3p-frame
    
    * Move name to Preact layer
    
    * .
    
    * Replace getFrameAttributes
    
    * ProxyIframeEmbed, IframeEmbed, Instagram refactor
    
    * Bring back InstagramDef.Api
    
    * Undo export
    
    * Move src to ProxyIframeEmbed
    
    * Fix imports
    
    * Restore Instagram props
    
    * Fix typing
    
    * Take messageHandler instead
    
    * Give messageHandler from Twitter
    
    * Use forwardRef
    
    * Clarify comment
    
    * Dima comments
    
    * Update from changes in #32763
    
    * Add unit tests
    
    * Update setHeightStyle
    
    * Use useMemo for count
    
    * getPreconnects returns array
    
    * Add 3p-frame and iframe files to eslint allowlist
    
    * height as string not object
    
    * Extract helper
    
    * Remove win from render body
    
    * Calculate name and src together
    
    * `src` should not be in the dependency array
    
    * Remove options
    
    * Update src/preact/component/iframe.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    66c8f92 View commit details
    Browse the repository at this point in the history
  102. ♻️ Migrate most remaining type helpers to src/core/types (#33845)

    * Move test-array to test/unit/core/types
    
    * Extract isEnumValue into core
    
    * Extract isEnumValue tests into core tests
    
    * Move string.js to core
    
    * Move string tests into core
    
    * Create types/index for convenient isType helpers
    
    * Move src/object to core and update tests
    
    * Use describes.sandboxed for core/types tests
    
    * Move remaining src/core tests into test/unit/core
    
    * Update dependency check config
    
    * Remove updated files from forbidden-terms allowlist
    
    * Update string helper imports
    
    * Update imports of isType helpers
    
    * Update imports of object helpers
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    afe3d7b View commit details
    Browse the repository at this point in the history
  103. ♻️ Migrate constants and data structures into core (#33859)

    * Move impl and test files for data structures
    
    * Move specialized PEM helper into only extension that uses it
    
    * Move files containing only constants to src/core/constants
    
    * Remove src/preact/component/iframe from exclusions
    
    * Remove forbidden test exceptions for updated files
    
    * Fix dep check config
    
    * Fix dead link
    
    * Update all imports of data-structures
    
    * Update all imports of constants
    
    * Revert pem function tweak
    
    * add missing const
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    39e7d88 View commit details
    Browse the repository at this point in the history
  104. Configuration menu
    Copy the full SHA
    6b10afb View commit details
    Browse the repository at this point in the history
  105. ♻️ Core extraction: function helpers, date helpers, signals (#33932)

    * Move utils/signals to src/core/data-structures
    
    * Move parseDate/getDate to src/core
    
    * Move src/utils/function to src/core/types
    
    * Move src/utils/rate-limit to src/core/types/function
    
    * Remove leftover src/utils/signals
    
    * update dep-check config
    
    * update legacy describe block
    
    * Remove forbidden terms exception for update tests file
    
    * Update .getTime allowlist entry in forbidden-terms
    
    * Update imports of signals
    
    * Update imports of date helpers
    
    * Update imports of function#once
    
    * Update imports of rate-limit helpers
    
    * Fix imports in test files
    
    * Fix import for newly added file
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    68a9137 View commit details
    Browse the repository at this point in the history
  106. ✨ amp-facebook-comments: Initial Bento component (#33852)

    * Prototype
    
    * Add note about excludeSandbox
    
    * Add unit tests
    
    * Add types
    
    * Separate option props with default locale
    
    * Prettify bundles config
    
    * Use Object.assign
    
    * Remove constructor
    
    * Update imports
    
    * Assert on given `allow`
    
    * Simplify onReady condition
    
    * Allow facebook loader dependency
    
    * Update test url
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    38b4409 View commit details
    Browse the repository at this point in the history
  107. ♻️ Enable Storybook's a11y addon the current way (#33966)

    The `withA11y` decorator has been deprecated:
    https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#removed-witha11y-decorator
    
    We should instead set up the addon globally, by excluding `/register` from its configured module name.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a7777c0 View commit details
    Browse the repository at this point in the history
  108. ♻️ isElement helper function (#34068)

    * Add isElement helper to src/core/types
    
    * Use isElement helper where useful
    
    * Add missing import
    
    * Fix property typo
    
    * Remove unused import
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    248cca8 View commit details
    Browse the repository at this point in the history
  109. PreactBaseElement: Support returning a function for "selector" prop d…

    …efs (#33935)
    
    * Support "as" with "selector" prop defs
    
    * Cache per element instance
    
    * Add unit tests
    
    * Update test/unit/preact/test-slot.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Do not observe subtree mutations
    
    * (empty)
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f9bab0f View commit details
    Browse the repository at this point in the history
  110. Types: fix all type parse errors and ensure no new ones crop up (#34105)

    * Types: fix all type parse errors
    
    * self nits
    
    * run prettier
    
    * fix a new parse error, make low-bar target
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    64b849c View commit details
    Browse the repository at this point in the history
  111. Configuration menu
    Copy the full SHA
    bd15fde View commit details
    Browse the repository at this point in the history
  112. ♻️ Types: opt for null shorthand (#34233)

    * types: shorthand for |null
    
    * a few more
    
    * fix test
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    5246089 View commit details
    Browse the repository at this point in the history
  113. ♻️ Enable type-checking src/polyfills in CI (#34239)

    * Clean up directory globs
    
    * Move src/core srcs+externs to const arrays
    
    * Exclude fetch/get-bounding-client-rect for now
    
    * Provide extern for promise-pjs polyfill
    
    * Fix types and add comments in abort-controller
    
    * Fix types and add comments in intersection-observer-stub
    
    * Remove @Suppress {checkTypes} from promise
    
    * Fix @this type for document.contains() polyfill
    
    * Remove unneeded typecast to unknown
    
    * Fix types and add comments in resize-observer-stub
    
    * Fix types and add comments in custom-elements
    
    * Add !
    
    * Fix types in get-bounding-client-rect
    
    * Add more !
    
    * Lint fixes
    
    * Allow custom-element.externs.js to use window
    
    * Revert no-op JSDoc changes
    
    * Remove connected callback externs and typecast instead
    
    * Clean up typedefs for observer stubs
    
    * Fix typo
    
    * Dedupe typedef
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    fb1d142 View commit details
    Browse the repository at this point in the history
  114. Bento: Prepare Twitter Preact implementation (#34194)

    * Do not override user given height until message gives one
    
    * Support tweetid directly
    
    * Support bootstrap directly
    
    * Add unit tests
    
    * Support momentid directly
    
    * Add Storybook samples for additional options
    
    * Use Sinon syntax for spying on setter
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    74b77bc View commit details
    Browse the repository at this point in the history
  115. amp-twitter:1.0 - Allow binding to data-tweetid and other configurati…

    …on attrs (#34296)
    
    * Add Storybooks for mutation
    
    * Reload iframe when context (via name) changes
    
    * Add unit test
    
    * PascalCase
    
    * Named vars in test
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    50c4a75 View commit details
    Browse the repository at this point in the history
  116. Bento: Assign placeholder and fallback elements to service slot (#34310)

    * Pass placeholder and fallback to shadow
    
    * Add unit test
    
    * Type annotation
    
    * Remove auto import
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b0b92b5 View commit details
    Browse the repository at this point in the history
  117. 📦 Update linting devDependencies (#34288)

    Co-authored-by: Raghu Simha <rsimha@amp.dev>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b9b3892 View commit details
    Browse the repository at this point in the history
  118. Configuration menu
    Copy the full SHA
    8ad8b4b View commit details
    Browse the repository at this point in the history
  119. 🏗 Add OWNERS for src/preact (#34298)

    * Create OWNERS file for src/preact
    
    * Add jridgewell
    
    * carolineliu -> caroqliu
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    d216bd2 View commit details
    Browse the repository at this point in the history
  120. Upgrade Preact to 10.5.13 (#30043)

    * Upgrade Preact to 10.4.8
    
    * update preact to latest
    
    Co-authored-by: Jake Fried <samouri@users.noreply.github.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6fe0fbe View commit details
    Browse the repository at this point in the history
  121. ♻️ Start updating assertions to use core/assert instead of src/log (#…

    …34284)
    
    * Prefix user/dev assert fns
    
    * Update renamed imports
    
    * Update imports to drop "pure"
    
    * Update src/utils assert imports
    
    * Update src/{polyfills,preact,purifier,web-worker} assert imports
    
    * Update src/{inabox,amp-story-player} assert imports
    
    * Fix merge breakage
    
    * Fix merge breakage
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    6ed8070 View commit details
    Browse the repository at this point in the history
  122. ♻️ Provide core tryCallback helper (#34348)

    * Provide tryCallback helper
    
    * Import shared helper where relevant
    
    * Remove spread param
    
    * Fix missing import
    
    * Update src/core/error.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Update src/core/error.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Update src/core/error.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    08baf23 View commit details
    Browse the repository at this point in the history
  123. ♻️ Modernize polyfills (#34342)

    * dedupe rethrowAsync
    
    * modernize fetch polyfill
    
    * modernize custom-elements polyfill
    
    * modernize polyfill stubs
    
    * modernize object-assign polyfill
    
    * update straggler
    
    * Fix typo
    
    * typecast elements_
    
    * Revert changes to fetch polyfill
    
    * Revert changes to fetch object-assign
    
    * Clean up stub types by removing nullability
    
    * Update polyfill stub tests
    
    * Fix test change
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ef44016 View commit details
    Browse the repository at this point in the history
  124. Configuration menu
    Copy the full SHA
    7a72944 View commit details
    Browse the repository at this point in the history
  125. ♻️ Migrate math and some DOM logic into core w/ type-checking (#34550)

    * Move utils/dom-fingerprint to core/dom/fingerprint
    
    * Fix imports in fingerprint.js
    
    * Move utils/date to core/dom/parse-date-attributes
    
    * Improve types in parse-date-attributes
    
    * Move utils/dom-based-weakref to core/dom/weakref
    
    * Update test names
    
    * Add __AMP_WEAKREF_ID extern
    
    * Move math, id-gen, layout-rect to core/math
    
    * Update types for layout-rect
    
    * Move get-html into core/dom
    
    * Move isFiniteNumber into core/types
    
    * Move document-ready to core
    
    * Move web-components to core/dom
    
    * Fix types in web-components
    
    * Move dom streaming helpers to core/dom/stream
    
    * Update imports of dom-fingerprint
    
    * Update imports of parseDateAttrs
    
    * Update (only) import of DomBasedWeakRef
    
    * Update imports of math helpers
    
    * Update imports of get-html
    
    * Update imports of isFiniteNumber
    
    * Update imports of document-ready
    
    * Update imports of web-components
    
    * Update imports of dom stream helpers
    
    * Update forbidden-terms
    
    * Not nullable type
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1e619f3 View commit details
    Browse the repository at this point in the history
  126. ♻️ Extract DOM query helpers into core + type-checking (#34554)

    * Move dom query helpers to core/dom/query
    
    * Update tests and fix extra semicolon
    
    * Rename core/dom/css to core/dom/css-selectors
    
    * Update dep-check config
    
    * Lint fixes
    
    Lint fixes
    
    * Move fullscreen helpers to dom/fullscreen
    
    * Add fullscreen externs
    
    * Update imports of dom query helpers
    
    * Update imports of css selector helpers
    
    * Remove empty import statements
    
    * Remove accidentally-added import newlines
    
    * Update * imports of dom
    
    * Update imports of fullscreen helpers
    
    * Fix test imports of dom helpers
    
    * Lint fixes
    
    * Fix import
    
    * Lint fixes
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c2e4d97 View commit details
    Browse the repository at this point in the history
  127. ♻️ Move most of remaining possible files to core + type-check (#34658)

    * Move src/utils/img to src/core/dom/img
    
    * Move src/utils/media-query-props to src/core/dom
    
    * Split page-layout-box and move to core/dom
    
    * Move event-helper-listen to core/dom
    
    * Fix up typechecking
    
    * Remove outdated pride entries
    
    * Move src/history to core/window
    
    * Move window-interface to core/window/interface
    
    * Move toWin into core/window
    
    * Move srcset to core/dom
    
    * Clean up/standardize tests
    
    * Fix up test typos
    
    * Lint and typechecker fixes
    
    * Update imports of img helpers
    
    * Update imports of media-query-props
    
    * Update imports of page-layout-box
    
    * Update imports of event-helper-listen
    
    * Update straggler import of img
    
    * Update imports of history
    
    * Update imports of window-interface
    
    * Update imports of toWin
    
    * Update imports of srcset
    
    * Update straggler import of history
    
    * Update presubmit references to history
    
    * Code review tweak
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    620df81 View commit details
    Browse the repository at this point in the history
  128. ♻️ Migrate Style and DOM helpers into core/DOM + type-checking (#34681)

    * Split display asserts out of src/style
    
    * Move src/style to core/dom/style
    
    * Update eslint rules for style
    
    * Move document-visibility to core
    
    * Move full-overlay-frame-helper to ads/inabox
    
    * Move utils/size-observer into core/dom
    
    * Fix types and externs for size-observer
    
    Standardize test name
    
    * Move src/utils/video to core/dom
    
    * Move dom/weakref to data-structures/dom-based-weakref
    
    * Make dom/video a submodule
    
    * Move pause-helper into core/dom/video
    
    * Move static-template into core/dom
    
    * Split openWindowDialog out of src/dom
    
    * Split amp-element helpers out of dom
    
    * Move dom to src/core
    
    Fix up types and modernize some syntax
    
    * Update presubmits for dom move
    
    Comment tweaks for dom/fullscreen
    
    * Update imports of display asserts
    
    * Update imports of style
    
    * Update imports of document-visibility
    
    * Update imports of size-observer
    
    * Update imports/refs to video
    
    * Update imports of pause-helper
    
    * Update imports of static-template
    
    * Update imports of open-window-dialog
    
    Fix stubbed test module
    
    * Update imports of dom
    
    * Fix zindex
    
    * Code review fixes
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    3b650db View commit details
    Browse the repository at this point in the history
  129. ♻️ Move src/layout into core to unblock buildDOM for amp-layout (#34818)

    * Update src/layout to use core assertion functions
    
    * Split non-core logic into src/static-layout
    
    * Make typechecking pass
    
    * Update imports of static-layout helpers
    
    * Update imports of layout to core
    
    * Fix stragglers
    
    * !Type
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f28eade View commit details
    Browse the repository at this point in the history
  130. ♻️ Auto-fix imports to use aliases (package.js, .eslintrc, + import u…

    …pdates) (#34812)
    
    * Add dev-dependency on eslint-plugin-module-resolver
    
    * Enable module-resolver/use-alias plugin
    
    * service.js->service-helpers.js,services.js->service/index.js
    
    * Add builtins
    
    * add more src/ aliases
    
    * Update imports of src/services
    
    Update imports of src/service.js
    
    * autofix
    
    * Fix type extern
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1222d53 View commit details
    Browse the repository at this point in the history
  131. ♻️ Extract applyFillContent into a standalone function (#34858)

    Bento components cannot rely on a full `BaseElement` implementation, so we intend to extract standalone helpers piece-meal.
    
    We extract `applyFillContent` first since that's the only standalone method used by `PreactBaseElement` for now.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    de04d4f View commit details
    Browse the repository at this point in the history
  132. Refactor: move getRealChildNodes and getRealChildren to core (#34813)

    * Migrate getRealChildren and getRealChildNodes
    
    * migrate tests
    
    * rcebulko nits
    
    * further nit
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    53a32e7 View commit details
    Browse the repository at this point in the history
  133. 🏗 Enable lint rules for imports and fix violations (#34877)

    * Enable some basic import rules
    
    * Lint that imports exist/are actually exported
    
    * Enforce imports at top of file
    
    * Require newline after imports
    
    * Disallow useless path segments
    
    * Disallow importing @ deprecated
    
    * Error on unresolved imports
    
    * Fix imports not at top of file
    
    * Fix missing newline
    
    * Fix useless path segments
    
    * Add eslint-ignore to 3 existing deprecated imports
    
    * Remove assignment to unexported module properties
    
    * Remove code trying to import nonsense
    
    * Enable import/extensions and set commented-out to 0
    
    * Remove extraneous extensions and /index
    
    * Lint fixes
    
    * Remove outdated forbidden-terms
    
    * Add slash to . imports
    
    * Config for import/extensions
    
    * More eslint config for useless index
    
    * Lint fixes
    
    * Allow unresolved in build-system
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    db259a3 View commit details
    Browse the repository at this point in the history
  134. ♻️ Move context under #core (#34927)

    * src/context/contextprops -> #preact/contextprops
    
    * Remove non-core dependency from context/node
    
    * src/context -> src/core/context
    
    * Update imports from context
    
    * Remove special-casing of context in eslint
    
    * Remove special-casing of context in typechecking
    
    * Move test files to new directory structure
    
    * No shame(.extern.js)
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9c7a2a3 View commit details
    Browse the repository at this point in the history
  135. Configuration menu
    Copy the full SHA
    9135c72 View commit details
    Browse the repository at this point in the history
  136. Configuration menu
    Copy the full SHA
    bfac2c8 View commit details
    Browse the repository at this point in the history
  137. ♻️ Small cleanup of some core modules (#34973)

    * Move id-generator to data-structures namespace
    
    * Make math a flat file
    
    * Remove assert dependency on string.includes
    
    * No more default export PriorityQueue
    
    * rename history#getState to history#getHistoryState
    
    * Move loading-instructions into constants
    
    * update imports of id-generator
    
    * Lint fixes
    
    * Update straggler
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    00204c4 View commit details
    Browse the repository at this point in the history
  138. 🏗 Enable eslint import/order in src/{core,preact} + autofix (#34914)

    * Add remove dependency on obsolete import sort plugin
    
    * Define import group/sort structure
    
    * Drop comment between imports
    
    * Only apply new rules to preact and core for now
    
    * Remove typedef imports comments
    
    * Autofix src/core
    
    * Autofix src/preact
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    80acccb View commit details
    Browse the repository at this point in the history
  139. Bento: iframe components attemptChangeHeight (#35027)

    * forceChangeHeight -> attemptChangeeHeight for Bento
    
    * Add information to guide.
    
    * Exclude amp-twitter
    
    * Warn if attemptChangeHeight fails
    
    * Restore changes to amp-twitter
    
    * Move warning inside PreactBaseElement
    
    * Fix user imports
    
    * Alan comments
    
    * return super.attemptChangeHeight()
    
    * Update documentation
    
    * Throw caught error
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    0fd089a View commit details
    Browse the repository at this point in the history
  140. Configuration menu
    Copy the full SHA
    daf2b1a View commit details
    Browse the repository at this point in the history
  141. ♻️ Enable import/order for unlikely-to-conflict src/ subdirs (#35226)

    * Add rarely-touchd src subdirs to import/order
    
    * Lint autofix
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    fb3bfd6 View commit details
    Browse the repository at this point in the history
  142. Wrap preact.Fragment with preact.createElement (#35418)

    * Wrap preact.Fragment
    
    * Return props.children insted of double nest
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    177d878 View commit details
    Browse the repository at this point in the history
  143. ♻️ Core+Types: resource-container-helper, clipboard, getChildJsonConf…

    …ig, async-input (#35138)
    
    * Move resource-container-helper to core/dom
    
    * Remove allowlist entry for #preact/slot
    
    * Define AmpElement extern and integrate PausableInterface
    
    * Pass type-checking + some cleanup
    
    * Use core mode for localdev check in preact/base-element
    
    * Move clipboard to #core/window
    
    * Fix types in clipboard
    
    * Move getChildJsonConfig into #core/dom
    
    * Code tweaks
    
    * Move async-input under #core/constants
    
    * Update imports of resource-container-helper
    
    * Update imports of getChildJsonConfig
    
    * Update imports of async input
    
    * Comment-out cored externs from amp.extern.js
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    97176c9 View commit details
    Browse the repository at this point in the history
  144. eslint rule: no-deep-destructuring should handle ArrayPattern (#35698)

    * eslint rule: no-deep-destructuring should handle ArrayPattern
    
    * Ignore pre-existing destructures
    
    * fix instead of ignore
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    64f9dcf View commit details
    Browse the repository at this point in the history
  145. Bento 3p iframe: Simplify API surface (#35685)

    * Get sentinel once
    
    * Remove unused props
    
    * Support standalone props, remove bootstrap/src
    
    * Update storybooks not to use bootstrap
    
    * Memoize Facebook options
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    e2c34f1 View commit details
    Browse the repository at this point in the history
  146. ♻️ core mode: add isEsm (#35307)

    * core mode: add isEsm
    
    * fix sourcemap-check
    
    * Modify isEsm() to hopefully play better with DCE
    
    * isTest --> isProd for isEsm
    
    * add esm to the amp-mode-transformer and use nullish coalesce
    
    * revert change to amp-mode-transformer
    
    * clean up constants
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    36294e1 View commit details
    Browse the repository at this point in the history
  147. ♻️ Remove Notice from JS and Markdown (#35717)

    * Remove notice from js
    
    * Markdown files and 2015 js files
    
    * Babel Plugins
    
    * Accidentally removed html comment for a validator test
    kristoferbaxter authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    129d72c View commit details
    Browse the repository at this point in the history
  148. 🏗♻️ Bento Auto-Envelope (#34820)

    Enables Bento components to run on documents without `v0.js`
    
    It specifies a `bento` extension wrapper for immediate execution, absent the AMP runtime. In this case, we use barebones implementations of `BaseElement` and `CustomElement` that are bundled as part of the extension. 
    
    To support this mounting scheme, we make two additional infra changes:
    
    1. Lint rule `restrict-this-access`, so that Preact-based components only use methods available in the barebones `BaseElement`.
    
    2. Update `babel-plugin-transform-amp-extension-call` to unwrap `AMP.extension()`, to avoid providing it as part of the Bento wrapper.
    
    For [browser support](https://caniuse.com/?search=custom%20element), this change also provides a `custom-elements-polyfill.js` that can be used once per document.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    578d1ca View commit details
    Browse the repository at this point in the history
  149. 🏗 Create eslint rule for preferred Preact props (#35722)

    * Create eslint rule
    
    * Apply rule
    
    * amp lint --fix
    
    * Remove copyright
    
    * Create and apply prefer-class-prop
    
    * Justin comment
    
    * className -> class in component.type.js (manual)
    
    * Scope `prefer-class-prop` to src/preact and Bento
    
    * Combine rules
    
    * Fix message for `checkProps`
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c096dd7 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    86004af View commit details
    Browse the repository at this point in the history
  151. Configuration menu
    Copy the full SHA
    9c23def View commit details
    Browse the repository at this point in the history
  152. mode: collapse definitions of localDev and test (#35823)

    * mode: collapse localDev and test
    
    * fix tests
    
    * video-iframe-integration: test agnosticism.
    
    * bring back isProd for DCE
    
    * remove isLocalDev from core/mode
    
    * getMode override --> AMP_CONFIG override.
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1f34e3e View commit details
    Browse the repository at this point in the history
  153. Revert "mode: collapse definitions of localDev and test (#35823)" (#3…

    …5918)
    
    This reverts commit 72b12c1dc964db32d1836252cce0683ac2b4d4b6.
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    95c10bd View commit details
    Browse the repository at this point in the history
  154. 🐛 Toggle placeholders/fallbacks properly on Bento components (#35821)

    * create centralized hooks for onLoad/onLoading/onError in PreactBaseElement
    
    * update instances where components used their own (similar) hooks
    
    * toggle placeholders for bento components with dynamic content
    
    * update storybook stories to demonstrate placeholders/fallbacks
    * update closure typings
    * update docs
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    21dcf4d View commit details
    Browse the repository at this point in the history
  155. Configuration menu
    Copy the full SHA
    735484e View commit details
    Browse the repository at this point in the history
  156. useMergeRefs custom hook (#36024)

    dmanek authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8c0227d View commit details
    Browse the repository at this point in the history
  157. Configuration menu
    Copy the full SHA
    9ca7f09 View commit details
    Browse the repository at this point in the history
  158. Bento: Fix unrecognized DOM attributes (#36151)

    * Lowercase allowfullscreen
    
    * Remove allowTransparency
    
    * Remove allowTransparency
    
    * Update use of ariaLabel to aria-label
    
    * Remove `thumbnailSrc` prop when provided
    
    * Do not propagate `keyboardSelectMode`
    
    * Do not propagate `expanded` prop
    
    * Revert "Do not propagate `expanded` prop"
    
    This reverts commit af62c51990e902bc4d21b4b8c93a35bb33c7db34.
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ce931dd View commit details
    Browse the repository at this point in the history
  159. Configuration menu
    Copy the full SHA
    0870990 View commit details
    Browse the repository at this point in the history
  160. ♻️ preact inob: small cleanup (#36177)

    * preact inob: small cleanup
    
    * also remove current
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    12d77ed View commit details
    Browse the repository at this point in the history
  161. 📦 Update core dependencies (#35061)

    Co-authored-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    478a0f8 View commit details
    Browse the repository at this point in the history
  162. 🐛 Wrap native HTMLElement for extension (#36249)

    Wrap native `HTMLElement` so that Bento elements can be used without `custom-elements-polyfill.js`
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    95ff19a View commit details
    Browse the repository at this point in the history
  163. ♻️ core: add getWin to core/window (#36295)

    * core: add getWin to core/window
    
    * timeago doesnt need optional
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    909dca4 View commit details
    Browse the repository at this point in the history
  164. Remove className property from PreactBaseElement (#36352)

    * Remove className property from PreactBaseElement
    
    * Remove className destructure from Ctor
    
    * Use a global variable for class string
    caroqliu authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    8c744f3 View commit details
    Browse the repository at this point in the history
  165. (bento-timeago) added e2e test (#36395)

    Added i-amphtml-built class to bento web components when mounted
    dethstrobe authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1c3fca9 View commit details
    Browse the repository at this point in the history
  166. 🏗♻️ Annotate use of Preact-style prop names (#36877)

    Partial for #35678
    
    For safety of prop name replacement, and consistent with either Preact or React style, replace e.g. `propName('class')` when destructuring props.
    
    - Added passthrough function `propName()`.
    - Updated Babel plugin to replace function uses.
    - Updated eslint rule so that it generates `[propName('class')]: className`, and verifies uses of `propName()`.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    5168a8a View commit details
    Browse the repository at this point in the history
  167. Lint remaining static enums in src (#36821)

    * tmp
    
    * Fix types
    
    * Fix types
    
    * Types
    
    * Undo changes to VideoAnalyticsEvents_Enum
    
    It requires its own PR.
    
    * Inline fetch-polyfill enum
    
    * stop linting tests
    
    * Fix make-extension template
    
    * Fix typescript shames
    
    * Fix suspicious LHS error
    
    * Fix type
    
    * fix test
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    2166628 View commit details
    Browse the repository at this point in the history
  168. refactor preact/compat to reduce bundlesize (#36901)

    * remove createPortal
    * replace toChildArray with the fn from preact
    * copy/paste forwardRef implementation
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    b92a48a View commit details
    Browse the repository at this point in the history
  169. Configuration menu
    Copy the full SHA
    cd9ffc4 View commit details
    Browse the repository at this point in the history
  170. 🏗 Extract {attrPrefix} and {type: 'date'} from parseProps() (#3…

    …6947)
    
    Partial for #36899
    
    Refactor `{attrPrefix}` and `{type: 'date'}` so that they resolve to a `{parseAttrs}` config instead.
    
    This allows extension bundles to include these parsing mechanisms independently, rather than sharing it as part of `PreactBaseElement`.
    
    All Bento extensions are 0.03 kb to 0.25 kb smaller as a result. The `bento.js` binary should see similar savings once it includes shared dependencies.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    da80dd4 View commit details
    Browse the repository at this point in the history
  171. refactor preact/compat to reduce bundlesize (#36976)

    * remove createPortal
        * replace toChildArray with the fn from preact
        * copy/paste forwardRef implementation
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1e1ee62 View commit details
    Browse the repository at this point in the history
  172. Cleanup forwardRef implementation (#36983)

    * Cleanup forwardRef implementation
    
    * Fix bug with forwarding a null ref
    
    Functional components are only ever called during render/diff, not dismount, so the ref should never be null.
    
    * Don't depend on `self` (browser global)
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    26d0e09 View commit details
    Browse the repository at this point in the history
  173. Implement Children interface in Preact (#37123)

    Because `import {Children} from '#preact/compat'` is automatically remapped to `import {Children} from 'react'`, we need to use the official interface for interacting with renderable children.
    jridgewell authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    cea3b6d View commit details
    Browse the repository at this point in the history
  174. 🏗 Share dependencies in bento.js (#36432)

    Partial for #36421
    
    `bento-*.js` files now use shared modules from a global `BENTO`. 
    
    Shared modules are listed on `shared-bento-symbols.js`.
    
    - We generate `bento.js` to import and provide the dependencies based on this list. We also generate `bento-shared.js` to use the dependencies from the global.
    
    - `bento-*.js` binaries use `module-resolver` so that the listed imports are replaced with `bento-shared.js`.
    
    Also adds the flag `--bento_runtime_only`.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    528ab2f View commit details
    Browse the repository at this point in the history
  175. ♻️ #core/context pass TS type-checking (#37185)

    * Enable TS typecheck throughout core
    
    * Fix up scheduler.js
    
    * Migrate prop type definition to .d.ts
    
    * Fix up prop.js
    
    * Fix up scan.js [stubbed ContextNode type]
    
    * Use type imports
    
    * Fix up values.js
    
    * Circular dependency on values
    
    * Fix up node and update ContextNode type imports
    
    * Fix up subscriber
    
    * Add index and remove last exclusion
    
    * Lint fixes
    
    * Lint fixes
    
    * Remove ref to deleted file
    
    * Fix same-line annotations missing @ type
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    5d9c524 View commit details
    Browse the repository at this point in the history
  176. 🚋 ♻️ src/preact: start the typing train (#37242)

    * typecheck src/preact
    
    * tsc: Introduce typechecking to the src/preact directory.
    
    * solution that maintains the typing of the two funcs.
    
    * turn eslint off for a small subsection
    
    * Update src/preact/index.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    * Properly type preact/dom
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    66433b5 View commit details
    Browse the repository at this point in the history
  177. preact-base-element: modernize statics (#37340)

    * preact-base-element: modernize statics
    
    * remove exclaimations, change prop access
    
    * Update src/preact/base-element.js
    
    Co-authored-by: Ryan Cebulko <ryan@cebulko.com>
    
    * Clean up the closure
    
    Co-authored-by: Ryan Cebulko <ryan@cebulko.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    9777307 View commit details
    Browse the repository at this point in the history
  178. small type cleanup: remove exclamation points (#37349)

    * smol type cleanup: remove exclamation points
    
    * src/core
    
    * keep rerunning
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    5e4716d View commit details
    Browse the repository at this point in the history
  179. ♻️ Remove import restriction exception for #preact/base-element (#3…

    …7362)
    
    * Extract installShadowStyles into #core
    
    * Remove exception for src/preact/base-element
    
    * Move stragglers
    
    * Update test file reference to moved functions
    
    * Move to #core/dom/shadow-embed
    
    * Revert package-lock.json changes
    
    * Pass type-checking
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    0bfe3b5 View commit details
    Browse the repository at this point in the history
  180. tsc: type all of src/preact/*.js (#37322)

    * tsc: typecheck src/preact
    
    * rebase fixes
    
    * More ryan comments + eslint doin work
    
    * opt-error typing
    
    * dont even need the AmpElement
    
    * rm shadow-embed.ts
    
    * update TODO with PR
    
    * remove unecessary cast
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    92f11ab View commit details
    Browse the repository at this point in the history
  181. 🚮 Remove dict() (#37383)

    It's not necessary since we no longer use Closure Compiler.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    3fe82f8 View commit details
    Browse the repository at this point in the history
  182. Extract AMPPreactBaseElement (#37309)

    * extract fn to register custom element
    
    * create (empty) amp pbe
    
    * inherit amp-accordion from amp-pbe
    
    * fix custom-element definitions for iframes (fixes tests)
    
    * workarounds to properly test bento components
    
    we don't want AMP.BaseElement to be declared so that it won't get injected into the class hierarchy. current tests assume that AMP should be initialized all the time which breaks bento tests
    
    * split out generic bento testing from amp tests
    
    current (hacky) workarounds: some tests depend on CSS, which we expect consumers to install. This differs from the AMP components that register styles themselves. To workaround this we have to import and append the bento component styles. This problem might be unique to components that don't use shadowCss. For components that do use shadowDom and have critical styling that needs to be tested, those styles are already written in JSS and declared as shadowCss in the bento component's declaration, which ensures that that the styles are baked into the component.
    
    * Revert "workarounds to properly test bento components"
    
    un-revert in order to test bento component
    
    * inherit all non-video bento-amp components from amp-pbe
    
    * rename VideoBaseElement -> AmpVideoBaseElement
    
    * refactor inheritance hierarchy for video components to remove amp code from bento hierarchy
    
    * fix amp-facebook hierarchy to preserve AmpFbBase functionality
    
    * update docs to demonstrate new way to scaffold amp-* components
    
    * move (some) amp-specific methods into amp-pbe
    
    * update dependencies, rename BentoVideoBaseElement
    
    * add doc
    
    * refactor dailymotion
    
    * ampvideobaseelement docs
    
    * lint
    
    * fix typings and lint
    
    * remove file
    
    * remove dict() based on ongoign discussions to deprecate
    
    * disable local/restrict-this-access for the whole file
    
    * remove more references to dict()
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    fd35fdb View commit details
    Browse the repository at this point in the history
  183. Configuration menu
    Copy the full SHA
    1319808 View commit details
    Browse the repository at this point in the history
  184. Configuration menu
    Copy the full SHA
    dd7006f View commit details
    Browse the repository at this point in the history
  185. change name (#37432)

    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a45cbb2 View commit details
    Browse the repository at this point in the history
  186. fix comment (#37449)

    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    0d43089 View commit details
    Browse the repository at this point in the history
  187. ♻️ 🏗 Update build-system to build bento components stored in a new di…

    …rectory (#36639)
    
    * update build-system to build bento components stored in a new directory and move jwplayer
    rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1c19fb6 View commit details
    Browse the repository at this point in the history
  188. preact parseProps: only match elements (#37352)

    * preact parseProps: only match elements
    
    * node->element:
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    4a351eb View commit details
    Browse the repository at this point in the history
  189. ♿ Flip tabindex prop mapping (#37459)

    We've been incorrectly mapping `tabIndex` as the Preact-style prop name and `tabindex` as the React-style prop name. This should be reversed.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    387594d View commit details
    Browse the repository at this point in the history
  190. Configuration menu
    Copy the full SHA
    ed9bbe9 View commit details
    Browse the repository at this point in the history
  191. ✨ [Bento] Implement bento-app-banner (#37127)

    * feature(bento-add-banner): initial template generation
    
    * feature(bento-add-banner): created simple storybook
    
    * feature(bento-add-banner): copied CSS from classic
    
    * feature(bento-add-banner): added many "stubs" for standalone services
    
    * feature(bento-add-banner): ported IOS and Android app logic
    
    * feature(bento-add-banner): added platform-aware logic, and dismiss button storage
    
    * feature(bento-add-banner): added UI unit tests
    
    * feature(bento-add-banner): added IOS tests
    
    * feature(bento-add-banner): moved sources into `component` folder
    
    * feature(bento-add-banner): added unit tests for Android
    
    * feature(bento-add-banner): mapped the `dismiss-button-aria-label` attribute
    
    * feature(bento-add-banner): added minor notes to the stories
    
    * feature(bento-add-banner): added unit tests for amp-app-banner
    
    * feature(bento-add-banner): updated validator
    
    * feature(bento-add-banner): extracted services to common location
    
    * feature(bento-add-banner): added README for services
    
    * feature(bento-add-banner): updated type defs
    
    * feature(bento-add-banner): updated formatting
    
    * feature(bento-add-banner): lint fix
    
    * feature(bento-add-banner): lint ignores
    
    * feature(bento-add-banner): lint fixes
    
    * feature(bento-add-banner): type fixes
    
    * feature(bento-add-banner): updated z-index file
    
    * feature(bento-add-banner): updated validator template
    
    * feature(bento-add-banner): simplified code with `Array.find`
    
    * feature(bento-add-banner): parse meta content using `Array.reduce`
    
    * feature(bento-add-banner): added more tests for android
    
    * feature(bento-add-banner): added more tests for ios
    
    * feature(bento-add-banner): improved tests for BentoAppBanner
    
    * feature(bento-add-banner): added tests for Dismiss logic
    
    * feature(bento-add-banner): added more iOS tests
    
    * feature(bento-add-banner): tiny lint fix
    
    * feature(bento-add-banner): improved tests for web-component mode, and fixed the button[open-button] check
    
    * feature(bento-add-banner): removed unnecessary `waitFor`
    
    * feature(bento-add-banner): lint fix
    
    * feature(bento-add-banner): added whitespace in tests
    
    * feature(bento-add-banner): ensure tests are not dependent on timers
    
    * feature(bento-add-banner): removed obsolete `latestVersion`
    
    * feature(bento-add-banner): use `Object.fromEntries` as suggested
    
    * feature(bento-add-banner): removed unused CSS
    
    * feature(bento-add-banner): use `WindowInterface.getTop` to improve unit tests
    
    * feature(bento-add-banner): extracted querySelectorInSlot to core
    
    * feature(bento-add-banner): removed useless services, use object-syntax instead of classes, fixed fetchJson
    
    * feature(bento-add-banner): renamed services to utils
    
    * feature(bento-add-banner): removed redundant win variable
    
    * feature(bento-add-banner): extracted parsing logic into separate function for readability
    
    * feature(bento-add-banner): renamed file to `docInfo`
    
    * feature(bento-add-banner): improved safety of accessing localStorage
    
    * feature(bento-add-banner): ensure proper default value is returned
    
    * feature(bento-add-banner): removed unnecessary async
    
    * feature(bento-add-banner): ensure localStorage still works if `key` changes
    
    * feature(bento-add-banner): flip ternary for readability
    
    * feature(bento-add-banner): added `self` for fetch
    
    * feature(bento-add-banner): updated generated z-index file
    
    * feature(bento-app-banner): ensure XHR rejects invalid status codes
    
    * feature(bento-app-banner): removed dependencies on `/src/url`
    
    * feature(bento-app-banner): lint sample code
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): allow localStorage from custom hook
    
    * feature(bento-app-banner): include optional `init` param for requests
    
    * feature(bento-app-banner): improved logging
    
    * feature(bento-app-banner): only expose `logger[info|warn|error]`
    
    * feature(bento-app-banner): warn when localStorage.setItem fails
    
    * feature(bento-app-banner): ensure logger can be stubbed and tested
    
    * feature(bento-app-banner): moved `INVALID_PROTOCOLS` to proper location
    
    * feature(bento-app-banner): ensure logger is globally disabled
    
    * feature(bento-app-banner): ensure component inherits from AmpPreactBaseElement
    
    * Update src/preact/utils/docInfo.js
    
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    
    Co-authored-by: scottrippey <scott.william.rippey@gmail.com>
    Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
    3 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f7c6fe5 View commit details
    Browse the repository at this point in the history
  192. bento extensions: support jsx/tsx and typed imports (#37464)

    * bento extensions: support jsx/tsx, and typed imports
    
    * unfix sourcemap
    
    * rcebulko comments
    
    * update resolvePath
    
    * add comment
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a624afe View commit details
    Browse the repository at this point in the history
  193. Configuration menu
    Copy the full SHA
    038d445 View commit details
    Browse the repository at this point in the history
  194. 🎉 src/preact: convert first file to tsx (#37524)

    * src/preact: convert first file to tsx
    
    * fix storybook
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    fdfdcf4 View commit details
    Browse the repository at this point in the history
  195. 🏗 🐛 Rename rename src/bento/components/jwplayer to`src/bento/compon…

    …ents/bento-jwplayer` (#37519)
    
    * the name set in the bundle config file actually needed to include either amp or bento...
    
    * rename src/bento/components/jwplayer -> src/bento/components/bento-jwplayer
    rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    80aa813 View commit details
    Browse the repository at this point in the history
  196. src/preact: use URL instead of parseUrlDeprecated (#37561)

    * src/preact: use URL instead of parseUrlDeprecated
    
    * address jridgewell feedback
    
    * force toString conversion
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    1aab491 View commit details
    Browse the repository at this point in the history
  197. Configuration menu
    Copy the full SHA
    cb46586 View commit details
    Browse the repository at this point in the history
  198. ♻️ 🏗 Move accordion Bento component to the src/bento directory (#37…

    …473)
    
    * move amp accordion bento component to src/bento
    rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    506dbd5 View commit details
    Browse the repository at this point in the history
  199. Support @bentoproject/core (#37386)

    * begin building bentoproject/core
    * surface extension css over npm
    * fix remap dependencies to handle tsx
      * handle trailing slash in importPath (necessary when remap-ing non-node_modules)
    * support building extensions using bentoproject/core
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    ad4fc0e View commit details
    Browse the repository at this point in the history
  200. Configuration menu
    Copy the full SHA
    ea7418d View commit details
    Browse the repository at this point in the history
  201. Remove @nocollapse annotation which was closure-specific. (#37630)

    * Remove @nocollapse annotation which was closure-specific.
    
    * lint
    
    * remove validator change which may actually still use closure
    samouri authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    de91379 View commit details
    Browse the repository at this point in the history
  202. 🏗 Use ESM to import peer Bento binaries (#37586)

    On `module` builds, use browser's `import` statement to share Bento dependencies like `bento.mjs`.
    
    On `nomodule` builds, we can't use `import`. Instead, we use babel to output to a format similar to AMD. 
    
    This change also simplifies some aspects:
    
    - Prefers using `{remapDependencies}` for esbuild rather than `module-resolver` on babel.
    - Removes `bento` compile wrapper.
    - Removes generators. Uses `src/bento.js` directly, and the intermediate `bento-shared.js` module is no longer needed.
    alanorozco authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    d388e91 View commit details
    Browse the repository at this point in the history
  203. Configuration menu
    Copy the full SHA
    f6c60f4 View commit details
    Browse the repository at this point in the history
  204. Configuration menu
    Copy the full SHA
    f10c775 View commit details
    Browse the repository at this point in the history
  205. 🚀 Introduce PREVIEW visibility state (#37409)

    * Add PREVIEW visibility state
    
    * Add previewAllowed method to custom/base element
    
    * Add previewAllowed method to resource class
    
    * Handle preview AmpDoc visibility state
    
    * Add TODO/clarifying comments
    
    * Handle build scheduling for preview mode
    
    * Handle preview viz state in amp-video
    
    * Update resources-impl to handle preview like prerender
    
    * Add TODO comment re: opting preview out of prerender build quota
    
    * Fixup
    
    * Add tests or TODOs where needed
    
    * Exempt PREVIEW from build quota
    
    * Add tests for PREVIEW in scheduler
    
    * Add tests for PREVIEW in resources
    
    * Add tests for PREVIEW in analytics visibility manager
    
    * Remove TODO from viewer-impl & amp-story-player-impl
    
    * Preview is visible; include in state machine
    
    * test-visibility-states
    
    * Remove deprecated eslint-disable
    
    * Revert isVisible change
    
    * samouri nit fixes
    
    * Remove nopreview attribute
    
    * Fix test for Preact base-element change
    rcebulko authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    36a1e8b View commit details
    Browse the repository at this point in the history
  206. ✨ [bento-list] Implemented bento-list component (#37360)

    * feature(bento-add-banner): initial template generation
    
    * feature(bento-add-banner): created simple storybook
    
    * feature(bento-add-banner): copied CSS from classic
    
    * feature(bento-add-banner): added many "stubs" for standalone services
    
    * feature(bento-add-banner): ported IOS and Android app logic
    
    * feature(bento-add-banner): added platform-aware logic, and dismiss button storage
    
    * feature(bento-add-banner): added UI unit tests
    
    * feature(bento-add-banner): added IOS tests
    
    * feature(bento-add-banner): moved sources into `component` folder
    
    * feature(bento-add-banner): added unit tests for Android
    
    * feature(bento-add-banner): mapped the `dismiss-button-aria-label` attribute
    
    * feature(bento-add-banner): added minor notes to the stories
    
    * feature(bento-add-banner): added unit tests for amp-app-banner
    
    * feature(bento-add-banner): updated validator
    
    * feature(bento-add-banner): extracted services to common location
    
    * feature(bento-add-banner): added README for services
    
    * feature(bento-add-banner): updated type defs
    
    * feature(bento-add-banner): updated formatting
    
    * feature(bento-add-banner): lint fix
    
    * feature(bento-add-banner): lint ignores
    
    * feature(bento-add-banner): lint fixes
    
    * feature(bento-add-banner): type fixes
    
    * feature(bento-add-banner): updated z-index file
    
    * feature(bento-add-banner): updated validator template
    
    * feature(bento-add-banner): simplified code with `Array.find`
    
    * feature(bento-add-banner): parse meta content using `Array.reduce`
    
    * feature(bento-add-banner): added more tests for android
    
    * feature(bento-add-banner): added more tests for ios
    
    * feature(bento-add-banner): improved tests for BentoAppBanner
    
    * feature(bento-add-banner): added tests for Dismiss logic
    
    * feature(bento-add-banner): added more iOS tests
    
    * feature(bento-add-banner): tiny lint fix
    
    * feature(bento-add-banner): improved tests for web-component mode, and fixed the button[open-button] check
    
    * feature(bento-add-banner): removed unnecessary `waitFor`
    
    * feature(bento-add-banner): lint fix
    
    * feature(bento-add-banner): added whitespace in tests
    
    * feature(bento-add-banner): ensure tests are not dependent on timers
    
    * feature(bento-add-banner): removed obsolete `latestVersion`
    
    * feature(bento-add-banner): use `Object.fromEntries` as suggested
    
    * feature(bento-add-banner): removed unused CSS
    
    * feature(bento-add-banner): use `WindowInterface.getTop` to improve unit tests
    
    * feature(bento-add-banner): extracted querySelectorInSlot to core
    
    * feature(bento-add-banner): removed useless services, use object-syntax instead of classes, fixed fetchJson
    
    * feature(bento-add-banner): renamed services to utils
    
    * feature(bento-add-banner): removed redundant win variable
    
    * feature(bento-add-banner): extracted parsing logic into separate function for readability
    
    * feature(bento-add-banner): renamed file to `docInfo`
    
    * feature(bento-add-banner): improved safety of accessing localStorage
    
    * feature(bento-add-banner): ensure proper default value is returned
    
    * feature(bento-add-banner): removed unnecessary async
    
    * feature(bento-add-banner): ensure localStorage still works if `key` changes
    
    * feature(bento-add-banner): flip ternary for readability
    
    * feature(bento-add-banner): added `self` for fetch
    
    * feature(bento-list): generated files from make-extension
    
    * feature(bento-add-banner): updated generated z-index file
    
    * feature(bento-list): implemented basic async fetching
    
    * feature(bento-list): added templating props
    
    * feature(bento-list): extracted useAsync
    
    * feature(bento-list): simplified template wrappers
    
    * feature(bento-list): added multiple tests
    
    * feature(bento-list): tested setting 'src' prop
    
    * feature(bento-list): updated default template to a simple <p>
    
    * feature(bento-list): add aria role attribute to list and listitems
    
    * feature(bento-list): added `refresh` method to the API
    
    * feature(bento-list): implemented maxItems
    
    * feature(bento-list): implemented resetOnRefresh
    
    * feature(bento-list): added "Load More" button with infinite query
    
    * feature(bento-list): tests for "Load More" button
    
    * feature(bento-list): added storybook for "Load More" feature
    
    * feature(bento-list): ensure viewport observer works with `rootMargin`
    
    * feature(bento-list): implemented "infinite scrolling" via IntersectionObserver
    
    * feature(bento-list): reset data when loadMoreBookmark changes
    
    * feature(bento-list): ensure requests can be cancelled
    
    * feature(bento-list): add jsdoc
    
    * feature(bento-list): moved files into `hooks` folder
    
    * feature(bento-list): fixed `fetchJson` signature
    
    * feature(bento-list): added unit tests for infinite scroll
    
    * feature(bento-list): added unit tests for template
    
    * feature(bento-list): updated web-component API
    
    * feature(bento-list): implemented template engine for AMP mode
    
    * feature(bento-list): added unit tests for amp mode
    
    * feature(bento-app-banner): ensure XHR rejects invalid status codes
    
    * feature(bento-list): updated to current xhr fetchJson signature
    
    * feature(bento-list): merging changes from `main`
    
    * feature(bento-app-banner): removed dependencies on `/src/url`
    
    * feature(bento-app-banner): lint sample code
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): minor code improvements
    
    * feature(bento-app-banner): allow localStorage from custom hook
    
    * feature(bento-app-banner): include optional `init` param for requests
    
    * feature(bento-app-banner): improved logging
    
    * feature(bento-app-banner): only expose `logger[info|warn|error]`
    
    * feature(bento-app-banner): warn when localStorage.setItem fails
    
    * feature(bento-app-banner): ensure logger can be stubbed and tested
    
    * feature(bento-app-banner): moved `INVALID_PROTOCOLS` to proper location
    
    * feature(bento-app-banner): ensure logger is globally disabled
    
    * feature(bento-app-banner): ensure component inherits from AmpPreactBaseElement
    
    * feature(bento-app-banner): removed unnecessary `.bind`
    
    * feature(bento-list): clean up comments
    
    * feature(bento-list): removed obsolete `dict()` wrappers
    
    * feature(bento-list): ensure ioOpts are optional
    
    * feature(bento-list): removed unused import
    
    * feature(bento-list): moved custom hooks to shared folder
    
    * feature(bento-list): updated validator template
    
    * feature(bento-list): fixed minor lint issues
    
    * feature(bento-list): extracted `amp-render` fetch logic, and use it in `amp-list`
    
    * feature(bento-list): extracted `collectItemsFromPages` logic
    
    * feature(bento-list): use `Preact.isValidElement`
    
    * feature(bento-list): documented `useInfiniteQuery`
    
    * feature(bento-list): ensure graceful failure when no `src` is supplied
    
    * feature(bento-list): added `"npm": true` to amp-list
    
    * feature(bento-list): moved component to root folder
    
    * feature(bento-list): allow amp-list dependency on amp-render
    
    * feature(bento-list): import `isValidElement` from `#preact`
    
    * feature(bento-list): simplify logic with `flatMap`
    
    * feature(doc-scope): prevent nulls in `flatMap`
    
    * feature(bento-list): added types to viewport-observer
    
    * feature(bento-list): convert to TS: useStateSafe
    
    * feature(bento-list): convert to TS: useLocalStorage
    
    * feature(bento-list): convert to TS: useInfiniteQuery
    
    * feature(bento-list): convert to TS: useValueRef
    
    * feature(bento-list): ensure our IntersectionObserver only responds to the last entry
    
    * feature(bento-list): remove unused css
    
    * feature(bento-list): added unit tests for loadMoreBookmark
    
    * feature(bento-list): removed unused validator files
    
    * feature(bento-list): set `hasCss` to false
    
    * feature(bento-list): added "loading" spinner and "load more" icon
    
    * feature(bento-list): updated "load more" templates to match amp-list 0.1
    
    * feature(bento-list): added empty css file to appease build
    
    * feature(bento-list): updated templates to use `load-more` attributes and event delegation
    
    * feature(bento-list): replaced `useEventDelegation` with manual delegation, because enzyme.
    
    * feature(bento-list): updated `test-amp-list` with new loading spinner
    
    * feature(bento-list): removed `hasCss` flag
    
    * Revert "feature(bento-list): removed `hasCss` flag"
    
    This reverts commit 74d8e24fb552d59ef387a801bb4a7af38f1cd1c1.
    
    * feature(bento-list): added `amp-list.js` to shared dep-check-config path
    
    Co-authored-by: scottrippey <scott.william.rippey@gmail.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c813e76 View commit details
    Browse the repository at this point in the history
  207. ✨ Create implementation of <bento-reddit> (#35544)

    * [`bento-reddit`] Add initial changes required for the bento port of the
    amp-reddit component.
    
    * [`bento-reddit`] Add storybook example for preact reddit.
    
    * [`bento-reddit`] Update storybook for the preact reddit implementation.
    
    * [`bento-reddit`] Update reddit amp mode storybook.
    
    * [`bento-reddit`] Update storybook examples to remove `bootstrap` and
    `src` props.
    
    * [`bento-reddit`] Update src/options props to pass the source value to
    ProxyIframeEmbed.
    
    * [`bento-reddit`] Add mappings from props to attrs.
    
    * [`bento-reddit`] Add unit tests for the Reddit amp mode.
    
    * [`bento-reddit`] Add initial unit tests for the bento implementation of
    reddit.
    
    * [`bento-reddit`] Add Storybook Basic.js for bento-reddit.
    
    * [`bento-reddit`] Remove copyright headers where applicable.
    
    * [`bento-reddit`] Rename component from 'Reddit' to 'BentoReddit' in preact mode.
    
    * [`bento-reddit`] Migrate reddit files to new bento directory.
    
    * [`bento-reddit`] Remove unneeded code.
    
    * [`bento-reddit`] Add documentation and example file for bento-reddit.
    
    * [`bento-reddit`] Update bento-reddit tests.
    
    * [`bento-reddit`] Remove unnecessary change to preact/main.
    
    * [`bento-reddit`] Update readme and add default title to component.
    
    * [`bento-reddit`] Remove unnecessary styling from Basic.js
    
    * [`bento-reddit`] remove unnecessary documentation file and update
    index.html with metadata.
    
    * [`bento-reddit`] Add metadata for reddit index.html.
    
    * [`bento-reddit`] Increase code coverage in unit tests.
    
    * [`bento-reddit`] Rename incorrect css rule and remove unnecessary
    import.
    
    * [`bento-reddit`] Remove accidental reference to bento-facebook.
    
    Co-authored-by: rebeccanthomas <64608436+rebeccanthomas@users.noreply.github.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f39a130 View commit details
    Browse the repository at this point in the history
  208. 🚮 [bento-reddit] Remove accidental entry to OWNERS (#37780)

    * [`bento-reddit`] Add initial changes required for the bento port of the
    amp-reddit component.
    
    * [`bento-reddit`] Add storybook example for preact reddit.
    
    * [`bento-reddit`] Update storybook for the preact reddit implementation.
    
    * [`bento-reddit`] Update reddit amp mode storybook.
    
    * [`bento-reddit`] Update storybook examples to remove `bootstrap` and
    `src` props.
    
    * [`bento-reddit`] Update src/options props to pass the source value to
    ProxyIframeEmbed.
    
    * [`bento-reddit`] Add mappings from props to attrs.
    
    * [`bento-reddit`] Add unit tests for the Reddit amp mode.
    
    * [`bento-reddit`] Add initial unit tests for the bento implementation of
    reddit.
    
    * [`bento-reddit`] Add Storybook Basic.js for bento-reddit.
    
    * [`bento-reddit`] Remove copyright headers where applicable.
    
    * [`bento-reddit`] Rename component from 'Reddit' to 'BentoReddit' in preact mode.
    
    * [`bento-reddit`] Migrate reddit files to new bento directory.
    
    * [`bento-reddit`] Remove unneeded code.
    
    * [`bento-reddit`] Add documentation and example file for bento-reddit.
    
    * [`bento-reddit`] Update bento-reddit tests.
    
    * [`bento-reddit`] Remove unnecessary change to preact/main.
    
    * [`bento-reddit`] Update readme and add default title to component.
    
    * [`bento-reddit`] Remove unnecessary styling from Basic.js
    
    * [`bento-reddit`] remove unnecessary documentation file and update
    index.html with metadata.
    
    * [`bento-reddit`] Add metadata for reddit index.html.
    
    * [`bento-reddit`] Increase code coverage in unit tests.
    
    * [`bento-reddit`] Rename incorrect css rule and remove unnecessary
    import.
    
    * [`bento-reddit`] Remove accidental reference to bento-facebook.
    
    * [`bento-reddit`] Remove unnecessary entry in OWNERS.
    
    Co-authored-by: rebeccanthomas <64608436+rebeccanthomas@users.noreply.github.com>
    2 people authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    71799ff View commit details
    Browse the repository at this point in the history
  209. move amp carousel, amp lightbox, amp lightbox gallery, and amp inline…

    … gallery to src/bento (#37555)
    rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    a27705a View commit details
    Browse the repository at this point in the history
  210. begin publishing @bentoproject/core (#37645)

    * does not (yet) begin publishing updated versions of extensions to use @bentoproject/core
    kvchari authored and rileyajones committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    7e4251c View commit details
    Browse the repository at this point in the history
  211. Configuration menu
    Copy the full SHA
    a9a8dfc View commit details
    Browse the repository at this point in the history
  212. Configuration menu
    Copy the full SHA
    e64e12e View commit details
    Browse the repository at this point in the history