Added:
capture_importscontext manager to capture client app (client-side imports on server-side) and isolate them- Simple web server using
run_app
Fixed:
- Importing absolute and relative modules/packages
Removed:
- Removed
pyscriptsupport in favor forbrython - Removed
create_aiohttp_appin favor forcreate_app
Changed:
- Custom aiphttp Application init args
Fixed:
- Only scripts should be imported, not links, in case of Brython
Fixed:
- Added support for import PyScript modules in server-side
Added:
- Reload server-side Python app if client-side Python file gets changed. This method uses
gunicorn. - Directly import client-side Python modules in server-side. This method uses
mock_module.py.
Fixed:
- Brython, check for
javascriptmodule.
Added:
- Support for Brython
- More Brython demos
Removed:
- Support for watchdog
Changed:
- Updated all requirements
Changed:
esbuilddisablesourcemap.
Changed:
- Current working dir in
create_aiohttp_app. - Print error in
install_npm_package.
Changed:
- For deployments, tolerate missing
nodejsbinaries.
Fixed:
- Do not try to include:
osandtimepackages/modules.
Added:
- Demo 3: Reactive Notes example
Fixed:
- Issue with
aaademo package.
Changed:
starter.pydoes not deleteTemporaryDirectory
Added:
- Demo 2: Alpine.js demo, looping messages, handling events.
Fixed:
- PyPI project page.
Added:
- Support for client side imports and modules.
Changed:
- npm packages built and copied into
static/__npm__dir - micropython stubs packages copied into
static/__mpy__dir - user app modules/packages copied into
static/__app__dir - Reimplemented simplified examples
demo_0anddemo_1.
Changed:
- Redefined/reimplemented API and whole library.
Added:
- Component:
ComponentLibrary.__getattr__method. - Pico:
Page.__init__got Modal JS script. - Pico:
Page.__init__got Checkbox indeterminate JS script. - Pico: Module's
__all__variable. - Pico: Example
pico_1.py, chat UI. - Html5:
Sectioncomponent. - Pico:
Sectioncomponent.
Fixed:
- Html5: Usage of
default_attrsinComponent.__init__. - Html5: Properly implemented
Textcomponent. - Pico: Removed conflicting
class Link(html5.A): pass. Only usep.A. - Html5: Void elements
Hr,Br.
Removed:
- Pico:
SubmitInput,ButtonLink,SecondaryButtonLink,ContrastButtonLinkcomponents. - Pico:
OutlineButtonLink,SecondaryOutlineButtonLink,ContrastOutlineButtonLinkcomponents. - Html5:
Html5.__getattr__method. - DaisyUI:
DaisyUI.__getattr__method. - Pico:
Pico.__getattr__method. - Pico:
SecondaryLink,ContrastLinkcomponents
Added:
- Html5:
Style,Svg,Asidecomponents. - Html5:
Progress,Br,Hrcomponents. - Pico:
A,Nav,Dialogcomponents. - Pico:
Html,Head,Meta,Link,Title,Script,Style,Body,Svg,Asidecomponents. - Pico:
Progress,Br,Hrcomponents. - Pico: Renamed
hello_world_pico_0topico_0. - Pico:
hello_world_pico_0complete example with all components https://picocss.com. - README: Updated examples section.
- Pico/Html5: Input checkbox, indeterminate=true, https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input/checkbox#indeterminate
Added:
- Html5: Special case
Labelcomponentfor_attribute. - Html5:
Form,Label,Select,Option,Fieldset,Legendcomponents. - Pico:
Form,Label,Input,Select,Option,Fieldset,Legend,Textcomponents. - Html5:
Figure,Table,THead,TR,TH,TBody,TD,TFootcomponents. - Pico:
Figure,Tablecomponents. - Html5:
Details,Summarycomponent. - Html5:
Articlecomponent. - Pico:
Details,Summary,Ul,Licomponent. - Pico:
Article,Header,Footercomponent.
Changed:
- Html5: Rename
contentprop/attr to bedata. https://dom.spec.whatwg.org/#text
Added:
- Html5:
HGroupcomponent. - Pico:
Grid,H1,H2,H3,H4,H5,H6components. - Pico:
HGroup,Headingscomponents. - Pico:
Link,SecondaryLink,ContrastLinkcomponents. - Html5:
Abbr,B,I,Cite,Del,Ins,Kbdcomponents. - Html5:
Mark,S,Small,Sub,Sup,Ucomponents. - Pico:
Abbr,Strong,B,I,Em,Cite,Del,Inscomponents. - Pico:
Mark,S,Small,Sub,Sup,Ucomponents. - Pico:
BlockQuote,Footercomponents. - Html5:
Inputcomponent. - Pico:
Button,SubmitInputcomponents. - Pico:
ButtonLink,SecondaryButtonLink,ContrastButtonLinkcomponents. - Pico:
OutlineButtonLink,SecondaryOutlineButtonLink,ContrastOutlineButtonLinkcomponents.
Changed:
- Component:
contentarg/attr is empty string''instead ofNone. - Component:
rendermethod.
Added:
- Html5:
debugextension forhtmx. - Html5: Added
Maincomponent. - Pico: Added
Picocomponent library. - Pico: Added
Page,Main,Gridcomponents. - Html5: Added
H5,H6components.
Added:
- Gladius:
SF-Session-IDheader. - Component:
sf-session-idattr onhtmlelement. - Html5: use
idiomorphlibrary as the swapping mechanism inhtmx.
Changed:
- Gladius: Redefined
Eventto allow future definition ofWeb Event. - DaisyUI:
Navbarbased onhtml5.Div, with customaddmethod. - Html5: Swap only body on any event and optimize DOM update using
idiomorph. - Html5: Rename
sf_idtog_id. - Html5: Rename
sf_session_idtog_session_id. - Html5: Rename
SF-Session-IDtoG-Session-ID. - HTML5, DaisyUI: Rename
default_tagtotag. - HTML5, DaisyUI: moved
htmxscripts from DaisyUI to Html5.
Removed:
- consts:
_ontextchanged,_ontablechanged.
Added:
- Component:
removechild method. - Component:
clonemethod, with support for shallow and deep cloning.
Changed:
- DaisyUI: Upgraded from version
3.7.7to3.8.0. - Component: Simplified
Component.__init__usingset_attr.
Fixed:
- Component:
set_attr, takes care ofclassandidattrs. - CHANGELOG: fixed list markdown.
Added:
- HTML5:
set_attr,set_attr,del_attr,has_attrmethods. - HTML5: High-level
Pagecomponent. - Example:
hello_world_2.py.
Changed:
- DaisyUI:
Pageextendshtml5.Page.
Fixed:
- Component: do not attach
htmxattributes for: html, head, meta, title, link, script, body, button, a, input, textarea - DaisyUI:
NavbarButtonextendshtml5.A. - DaisyUI:
Textextendshtml5.Span. - Html5:
hx-bootson body. - DaisyUI:
ht-targetattr added onNavbarandJoinchildren.
Changed:
- Tailwind: Plugin
line-clampis included by default from Tailwind v3.3. - Component: can be triggered now on custom event
_contentchange.
Removed:
- Component: Removed need for
TextContentComponent.
Added:
- Component: Added
TextContentComponentfor components that have text content in constructor. - HTML5: H1, H2, H3, H4, P, BlockQuote, Figure, FigCaption, Strong, Em, Code.
- HTML5: Pre, Ol, Ul, Li, Table, THead, Tr, Th, Td, Img, Video, Source, Hr.
- HTML5: Button.
- DaisyUI: Hero, HeroContent.
- DaisyUI: Indicator, IndicatorItem.
- DaisyUI: Stack.
- DaisyUI: Toast, Alert.
- Examples: Layout.
Changed:
- Tailwind Plugins: forms, typography, aspect-ratio, line-clamp.
- DaisyUI: Button, support for text label in constructor.
- HTML5: Span is subclass of TextContentComponent.
- Component:
Componentgo all features fromTextContentComponent.
Removed:
- Examples: Artboard, Divider, Footer.
Added:
- Component:
add_class,remove_class,has_classmethods. - DaisyUI: NavbarButton, Artboard, Divider, Footer, FooterTitle components.
- HTML5: A, Footer, Nav, Header.
Changed:
- Examples, rename
duitod. - Rename
prop{s}toattr{s}because of HTML convention. - Rename attr
sf_idto besf-id. - Renamed
EventRequesttoEvent. - Updated DaisyUI from
2.6.0to3.7.7. - DaisyUI:
Joincomponent adds default classjoin-itemto its children.
Fixed:
- Component registration of ComponentLibrary's sub-classes.
- Read
event: Eventfrom HTTP headers, and pass to callback.
Added:
- HTML5 Components: Html, Head, Meta, Link, Title, Script, Body, Div, Span.
- Added example: hello_world_1.
Changed:
- Component uses
hx-target='[sf_id="ID"]'instead ofhx-target="#ID". - Moved Html5 Components into independent module
html5.
Fixed:
- Cyclic reference imports.
- Fixed examples: multi_page_0, hello_world_0.
Fixed:
- Text got custom event
_ontextchange, so it can detect changes.
Added:
- Initial version based on aiohttp, uvloop, htmx, TailwindCSS, DaisyUI.