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

Provide theme style using different CSS #241

Closed
netil opened this issue Jan 18, 2018 · 5 comments
Closed

Provide theme style using different CSS #241

netil opened this issue Jan 18, 2018 · 5 comments

Comments

@netil
Copy link
Member

netil commented Jan 18, 2018

Description

Aside of the default CSS style, providing different look based on theme style will be useful.
Just changing the load of these files can make chart to render to have different style.

<!-- default css -->
<link rel="stylesheet" href="$YOUR_PATH/billboard.css">

<!-- ex: replace the default to use other theme css file -->
<link rel="stylesheet" href="$YOUR_PATH/theme/lighter.css">
@netil netil added the feature label May 11, 2018
@netil netil added this to the 1.5.0 milestone May 11, 2018
@netil netil self-assigned this May 11, 2018
@Rincewind3d
Copy link

Rincewind3d commented May 18, 2018

A much better solution for theming would be the usage of CSS Custom Properties:

CSS Custom Properties allows you to theme at the runtime!

Example

// global theme
:host {
  --bb-grild-line-stroke: red;
}

// style a spefic chart
.myChart {
  --bb-grild-line-stroke: yellow;
}

Implementation (billboard.css):

.bb-grid line {
  stroke: #aaa; //IE11 Fallback
  stroke: var(--bb-grild-line-stroke, #aaa); }

The only downside of the solution is that IE11 does not support this kind of theming.

@netil
Copy link
Member Author

netil commented May 23, 2018

@Hanterdro thanks for the suggestion.
That will be one of the alternatives, but it should cover IE11 too. It can be considered when IE11 usage degrade on meaningless level.

@Rincewind3d
Copy link

@netil
I would suggest that you add CSS custom properties to the default theme, additional to the option for a custom theme.css file path as you described above.

In my example you see how to add css custom properties with fallback values for IE11.

If a user of billboard.js don’t need IE11 theming he could use the original theme.css with the custom properties. If he need IE11 theme support he just use the theme path.

Adding CSS custom properties is not much work and brings a lot of value without any disadvantages.

@netil netil removed this from the 1.5.0 milestone Jun 20, 2018
@netil netil closed this as completed in e113278 Jul 25, 2018
netil added a commit that referenced this issue Aug 16, 2018
netil added a commit that referenced this issue Aug 20, 2018
- Add 'use' tag as valid point type
- Set stroke custom point css prop from none to inherit to be used on css theme

Fix #547
Ref #241
Close #548
netil added a commit that referenced this issue Aug 20, 2018
netil added a commit that referenced this issue Aug 20, 2018
netil added a commit that referenced this issue Aug 20, 2018
netil added a commit that referenced this issue Aug 21, 2018
@netil netil mentioned this issue Nov 1, 2018
netil pushed a commit that referenced this issue Jun 18, 2019
# 1.0.0 (2019-06-18)

### Bug Fixes

* fallback to __bindto's id attribute when it is not a string ([16a1e6d](16a1e6d))
* regex replaces everything that is not alphanum, - or _ ([1f093dd](1f093dd))
* **tooltip:** Correct tooltip position when is zoomed ([45785ab](45785ab)), closes [#197](#197) [#281](#281) [#431](#431) [#546](#546)
* throw errors instead of alerts ([12cf47d](12cf47d))
* **all:** Re-organize import from d3 ([c11a215](c11a215)), closes [#285](#285) [#313](#313)
* **AMD-module:** updating to enforce the AMD standard ([4f8f63c](4f8f63c))
* **api:** Cancel transitions on destroy. ([7dd287d](7dd287d)), closes [#766](#766) [#765](#765)
* **api:** Change the way of hiding tooltip ([#358](#358)) ([67c8305](67c8305)), closes [#343](#343)
* **api:** Correct .x()/.xs() to work properly ([80d4e1b](80d4e1b)), closes [#634](#634) [#635](#635)
* **api:** Correct on exporting custom points ([f65bcfb](f65bcfb)), closes [#541](#541) [#741](#741)
* **api:** Correct toggle interaction ([#456](#456)) ([3682a83](3682a83)), closes [#454](#454)
* **api:** Fix css encoding in exported svg ([321971e](321971e)), closes [#843](#843) [#844](#844)
* **api:** Fix JSON data loading ([9067138](9067138)), closes [#398](#398) [#400](#400)
* **api:** Fix loading to maintain correct x index ([f3881bc](f3881bc)), closes [#517](#517) [#519](#519)
* **api:** Fix regions.remove() error ([#579](#579)) ([0c0374f](0c0374f)), closes [#529](#529) [#578](#578)
* **api:** Fix to remove instance ([#357](#357)) ([80fdc31](80fdc31)), closes [#347](#347)
* **api:** Remove cached data when .unload() is called ([aa91bab](aa91bab)), closes [#626](#626) [#627](#627)
* **api-load:** Allow false for unload ([e52e5ad](e52e5ad)), closes [#321](#321) [#333](#333)
* **api.zoom, interaction:** fix zoom bug for rects ([b3521c8](b3521c8)), closes [#33](#33) [#46](#46)
* **arc:** Correction on rendering 0 values ([dcfa12c](dcfa12c)), closes [#652](#652) [#656](#656)
* **arc:** Fix to generate arc when data is zero ([04a4dd8](04a4dd8)), closes [#935](#935)
* **arc,api:** Correct on data representation and handling ([#332](#332)) ([3eec8d7](3eec8d7)), closes [#303](#303) [#331](#331)
* **area:** Apply gradient on dynamic data loading ([954c303](954c303)), closes [#855](#855)
* **area-line-range:** Fix working with grouped data ([1546dda](1546dda)), closes [#630](#630) [#644](#644)
* **area-range:** Correct handling null data ([cc1d4ee](cc1d4ee)), closes [#482](#482) [#487](#487)
* **area-range:** Fixed data parsing ([#485](#485)) ([4b78de5](4b78de5)), closes [#481](#481)
* **axis:** Adjust axes range ([0130519](0130519)), closes [#859](#859)
* **axis:** Avoid unnecessary computing char dimension ([3f52827](3f52827)), closes [#399](#399) [#407](#407)
* **axis:** Correct axis label position ([#538](#538)) ([37cca8c](37cca8c)), closes [#519](#519) [#534](#534)
* **axis:** Correct axis transition ([e2bec90](e2bec90)), closes [#759](#759)
* **axis:** Correct not to generate unnecessary ticks ([#560](#560)) ([9346e66](9346e66)), closes [#348](#348)
* **axis:** Correct rotated x axis rendering ([2b02a03](2b02a03)), closes [#230](#230) [#234](#234)
* **axis:** Correct tick's position implementation ([#457](#457)) ([09547be](09547be)), closes [#380](#380)
* **axis:** Correct ticks less than ~0.1 to be shown ([8d14bcb](8d14bcb)), closes [#387](#387) [#409](#409)
* **axis:** Fix indexed x axis order ([#879](#879)) ([df8d385](df8d385)), closes [#714](#714) [#877](#877)
* **axis:** Fix on axis width sizing ([10f27e5](10f27e5)), closes [#920](#920)
* **axis:** fix side-effects from [#717](#717) ([#740](#740)) ([4eba766](4eba766))
* **axis:** Fix x Axis tick fit for timeseries ([9cda54f](9cda54f)), closes [#628](#628)
* **axis:** improve tick label size calculation ([8dc08bd](8dc08bd)), closes [#323](#323) [#324](#324)
* **axis:** Round float numbers from 'binary floating point' ([bd2fbbe](bd2fbbe)), closes [#222](#222) [#320](#320)
* **Axis:** Fix text alignment when legend is not showing ([620d737](620d737)), closes [#25](#25) [#686](#686)
* **Axis:** Fix tick text position ([0ca6b18](0ca6b18)), closes [#672](#672) [#678](#678)
* **bar:** Adjust bar width regardless tick count limit ([8f92d3e](8f92d3e)), closes [#166](#166) [#182](#182)
* **bar:** Fix bar position on width option ([0883588](0883588)), closes [#720](#720) [#832](#832)
* **bar:** Remove new line chars on path string ([#533](#533)) ([1f9db5a](1f9db5a)), closes [#530](#530)
* **bower:** add scss source files to bower package ([945ee66](945ee66))
* **bubble,point:** Fix bubble size change on load API ([#214](#214)) ([d9eb371](d9eb371)), closes [#163](#163)
* **chart:** Correct data label text prop ref ([d9f4477](d9f4477)), closes [#780](#780) [#781](#781)
* **color:** Correct the way on setting pattern value ([#509](#509)) ([164a3f9](164a3f9)), closes [#507](#507)
* **color:** Remove importing schemeCategory10 ([72864c5](72864c5)), closes [#298](#298) [#373](#373)
* **colors:** Fix color method ([8effaad](8effaad)), closes [#233](#233)
* **data:** babel transform bug ([1f8efc2](1f8efc2)), closes [#17](#17) [#18](#18)
* **data:** Correct data label text to be shown on scatter ([#492](#492)) ([f9f0081](f9f0081)), closes [#488](#488)
* **data:** Correct data order to not be altered ([e39db91](e39db91)), closes [#379](#379) [#412](#412)
* **data:** Correct data.onclick calls ([#203](#203)) ([a5fd3fc](a5fd3fc)), closes [#202](#202)
* **data:** Correct onover/out callback on touch ([#769](#769)) ([9ad9817](9ad9817)), closes [#768](#768)
* **data:** Fix data indexing ([2e3010b](2e3010b)), closes [#863](#863)
* **data:** Fix empty label text flickering ([173990b](173990b)), closes [#901](#901)
* **data:** Remove selection on data.onmin/max ([#143](#143)) ([7709c32](7709c32)), closes [#8](#8)
* **data,interaction:** Bar type interaction error on multiple x ([cf49d71](cf49d71)), closes [#178](#178) [#180](#180)
* **data.convert:** allow dots in json properties ([7ff837a](7ff837a)), closes [#14](#14)
* **dev-env:** Update main entry point ([1488232](1488232)), closes [#391](#391) [#525](#525) [#549](#549)
* **domain:** Fix getting Y domain min/max value ([864e112](864e112)), closes [#685](#685) [#690](#690)
* **event:** Correct on resizing all generated charts ([10d6d73](10d6d73)), closes [#404](#404) [#466](#466) [#468](#468)
* **gauge:** Correct background rendering on fullCircle ([#141](#141)) ([7f5fda2](7f5fda2)), closes [#140](#140)
* **grid:** Correct grid position ([5a7a94d](5a7a94d)), closes [#820](#820) [#821](#821)
* **grid:** Correct grid scale on zoom ([2904d41](2904d41)), closes [#799](#799)
* **grid:** Correct updating grid's attributes ([#414](#414)) ([1662a1f](1662a1f)), closes [#389](#389)
* **interaction:** Correct drag selection error ([#493](#493)) ([f38cd24](f38cd24)), closes [#490](#490)
* **interaction:** Correct event binding ([#27](#27)) ([f09d2ed](f09d2ed)), closes [#24](#24)
* **interaction:** Correct mouse event create ([#252](#252)) ([930f74b](930f74b)), closes [#251](#251)
* **interaction:** Correct rect element sizing ([6a09985](6a09985)), closes [#522](#522) [#523](#523)
* **interaction:** Prioritize mouse input ([#280](#280)) ([5cc3442](5cc3442)), closes [#92](#92)
* **internal:** Correct evaluating inputType condition ([#257](#257)) ([4b1f3cc](4b1f3cc)), closes [#92](#92)
* **internal:** Fix on unexpected resize event firing ([#572](#572)) ([dd5af9c](dd5af9c)), closes [#571](#571)
* **label:** Correct newly added texts transition position ([f81d440](f81d440)), closes [#648](#648) [#718](#718)
* **legend:** Correct legend positioning ([51ee8ce](51ee8ce)), closes [#737](#737) [#737](#737) [#752](#752)
* **legend:** Correct to keep the original class value ([46ebf35](46ebf35)), closes [#444](#444)
* **legend:** Fix legend template update for dynamic loading ([#622](#622)) ([1e465ae](1e465ae)), closes [#621](#621)
* **legend:** Fix resize for arc ([#707](#707)) ([89a3ece](89a3ece)), closes [#705](#705)
* **legend:** Fix resizing when legend template is used ([#706](#706)) ([87294dd](87294dd)), closes [#705](#705)
* **Legend:** working with useless transition effect ([676b1e5](676b1e5)), closes [#25](#25) [#41](#41)
* **line:** Correct on rotated step type ([#474](#474)) ([74bd639](74bd639)), closes [#471](#471)
* **line:** Correct zoom with data.regions ([a76000a](a76000a)), closes [#728](#728) [#729](#729)
* **line:** Fix areaGradient for spaced data name ([3fbd4b2](3fbd4b2)), closes [#930](#930)
* **line:** Fix gradient with dataname starting w/no ([fe31102](fe31102)), closes [#936](#936)
* **options:** Correct when bindto element not exist ([448a45d](448a45d)), closes [#743](#743) [#749](#749)
* **pie:** Correct multiline label text ([9bacb9b](9bacb9b)), closes [#784](#784)
* **point:** Check for node.childNodes existance for IE / Edge ([59a5a05](59a5a05)), closes [#601](#601) [#602](#602)
* **point:** Correct point expansion on old IEs ([2e9dbfe](2e9dbfe)), closes [#897](#897)
* **point:** Fix custom point hover position ([2edb82a](2edb82a)), closes [#618](#618) [#700](#700)
* **radar:** Correct on resizing ([#540](#540)) ([f2fdecc](f2fdecc)), closes [#497](#497)
* **radar:** Fix data.onover/out callback ([91c8df2](91c8df2)), closes [#768](#768) [#773](#773)
* **radar:** Fix incorrect rendering ([#738](#738)) ([f8915e2](f8915e2)), closes [#735](#735)
* **readme:** Change broken link about license ([#188](#188)) ([a9a1e09](a9a1e09))
* **regions:** Fix regions resizing on zoom ([#561](#561)) ([c61960d](c61960d)), closes [#483](#483)
* **selection:** Correct multiple callback calls ([#120](#120)) ([f7cae57](f7cae57)), closes [#117](#117)
* **selection:** Correct multiple selection error ([#455](#455)) ([353f809](353f809)), closes [#445](#445)
* **selection:** Correct on data selection ([#113](#113)) ([eb13350](eb13350)), closes [#112](#112)
* **shape:** Correct newly added points transition position ([d9dc75a](d9dc75a)), closes [#648](#648) [#659](#659)
* **shape:** Fix for empty data in normalization ([#649](#649)) ([76f3558](76f3558)), closes [#623](#623)
* **shape:** Fix normalization on hidden data ([#645](#645)) ([aba9496](aba9496)), closes [#643](#643)
* **shape:** line.step.type config not working ([#86](#86)) ([62273bf](62273bf)), closes [#85](#85)
* **shape:** Prevent when non-existed data.hide is given ([#650](#650)) ([6a72602](6a72602)), closes [#623](#623)
* **shape, api.zoom:** fix zoom for barchart ([917384f](917384f)), closes [#16](#16) [#32](#32)
* **shape.line:** Correct getting shape object ([#47](#47)) ([b2a0acf](b2a0acf)), closes [#10](#10)
* **shape.line:** Correct return type ([#148](#148)) ([3317183](3317183)), closes [#147](#147)
* **size:** Correct height increase during resize ([#223](#223)) ([9699a55](9699a55)), closes [#155](#155) [#164](#164)
* **size:** Correct width on resizing ([#189](#189)) ([5a93a19](5a93a19)), closes [#179](#179)
* **subchart:** Correct subchart extent option ([eac3e65](eac3e65)), closes [#142](#142) [#805](#805)
* **subchart:** Maintain subchart selection on resize ([c7d7fa5](c7d7fa5)), closes [#778](#778)
* **subchart:** Maintaion selection for category x axis ([3f46609](3f46609)), closes [#778](#778)
* **tiles:** Fix background tiles id ([c452b43](c452b43)), closes [#225](#225) [#226](#226)
* **tooltip:** Correct interaction on mobile ([23ff1df](23ff1df)), closes [#376](#376) [#377](#377)
* **tooltip:** Correct on toggling data series ([#253](#253)) ([e7d1b19](e7d1b19)), closes [#240](#240)
* **tooltip:** Enhancement for overlapped points ([3ee694d](3ee694d)), closes [#568](#568) [#569](#569)
* **tooltip:** Fix for dynamically loaded data adding column ([009d3b1](009d3b1)), closes [#660](#660) [#661](#661)
* **tooltip:** Fix for mobile environment ([#616](#616)) ([981bc77](981bc77)), closes [#593](#593)
* **tooltip:** Fix handling on color tile ([#875](#875)) ([56c2f99](56c2f99)), closes [#816](#816) [#816](#816)
* **tooltip:** Fix mid value showing for area-range type ([#598](#598)) ([a9d615b](a9d615b)), closes [#597](#597)
* **tooltip:** Fix on ungrouped tooltip showing for custom shape ([#548](#548)) ([9411758](9411758)), closes [#547](#547) [#241](#241)
* **tooltip:** Fix tooltip.show() for multi x axis ([aaa8293](aaa8293)), closes [#785](#785)
* **tooltip:** Make linked tooltip to work based on index ([2df0a38](2df0a38)), closes [#494](#494) [#496](#496)
* **tooltip:** Non linked tooltip exclusion ([feeb536](feeb536)), closes [#393](#393) [#396](#396)
* **ua:** Fix the side-effect by refactoring ([#898](#898)) ([d00d903](d00d903))
* **zoom:** Correct not firing data.onclick callback ([7368446](7368446)), closes [#583](#583) [#584](#584)
* **zoom:** Correct not to re-scale while zoom is disabled ([#273](#273)) ([502d6fd](502d6fd)), closes [#272](#272)
* **zoom:** Correct zoom in rendering on 0 coord. ([f61b792](f61b792)), closes [#169](#169) [#170](#170)
* **zoom:** Correct zoom resizing ([#139](#139)) ([67e863e](67e863e)), closes [#60](#60)
* **zoom:** Correct zoom.range() to work ([6830e5c](6830e5c)), closes [#290](#290) [#291](#291)
* **zoom:** Correct zooming for category axis type ([#441](#441)) ([c8a164a](c8a164a)), closes [#177](#177)
* **zoom:** Fix on .zoom() API  ([cd0d109](cd0d109)), closes [#581](#581) [#582](#582)
* **zoom:** Fix on rotated axis ([#892](#892)) ([983d970](983d970)), closes [#736](#736) [#818](#818)
* **zoom:** Fix on zoom.rescale option ([#566](#566)) ([851ec3e](851ec3e)), closes [#470](#470)
* **zoom:** Fix tooltip pos for bubble/scatter ([1fc9c16](1fc9c16)), closes [#906](#906)
* **zoom:** Fix zoom level reset ([ec24c2c](ec24c2c)), closes [#913](#913)
* **zoom:** Fix zoom rescale by wheel ([585d607](585d607)), closes [#890](#890)
* **zoom:** Maintain zoommed scale on .zoom() ([7b7a274](7b7a274)), closes [#654](#654) [#702](#702)
* **Zoom:** Updated domain values onzoom/onzoomend ([acf3239](acf3239)), closes [#770](#770) [#777](#777)

### Features

* **all:** Add TS definition  ([8b34691](8b34691)), closes [#629](#629) [#682](#682)
* **api:** Intent to ship .config() ([b0dc53a](b0dc53a)), closes [#502](#502) [#545](#545)
* **arc:** Enhance multiline text label ([7e57c67](7e57c67)), closes [#784](#784)
* **Arc:** Implement multiline donut title ([b816dc0](b816dc0)), closes [#71](#71) [#130](#130)
* **area:** Intent to ship area.linearGradient ([0063a4c](0063a4c)), closes [#755](#755) [#800](#800)
* **axis:** Enhancement on tick multiline ([#386](#386)) ([4178e40](4178e40)), closes [#381](#381)
* **axis:** Inten to ship axis.x.tick.tooltip ([94a8650](94a8650)), closes [#236](#236) [#240](#240)
* **axis:** Intent to ship axis clipPath option ([#459](#459)) ([e9fb973](e9fb973)), closes [#458](#458)
* **axis:** Intent to ship multi Axes ([becd3c3](becd3c3)), closes [#98](#98) [#697](#697) [#699](#699)
* **axis:** Intent to ship tick show options ([#746](#746)) ([89c1aa2](89c1aa2)), closes [#737](#737)
* **axis:** Intent to ship tick.text.position ([#426](#426)) ([816ce2a](816ce2a)), closes [#380](#380)
* **axis:** Pass category name param ([#329](#329)) ([7e06851](7e06851)), closes [#327](#327)
* **bar:** Intent to ship bar.radius option ([#476](#476)) ([17e2b41](17e2b41)), closes [#359](#359)
* **bar:** Intent to ship variant width ([ae46c85](ae46c85)), closes [#720](#720) [#724](#724)
* **bubble:** Intent to ship bubble type ([#195](#195)) ([c80d78f](c80d78f)), closes [#163](#163)
* **Chart:** Expose primary node elements ([#511](#511)) ([de3f60c](de3f60c)), closes [#423](#423)
* **ChartInternal,Options:** Add before/after initialization callbacks ([354d7e2](354d7e2)), closes [#55](#55) [#126](#126)
* **ChartInternal,Options:** Add new clipPath option ([6531692](6531692)), closes [#56](#56) [#95](#95)
* **color:** Intent to ship color.onover ([5ec2d9e](5ec2d9e)), closes [#754](#754) [#768](#768) [#772](#772)
* **core:** Intent to ship global config ([1b524e1](1b524e1)), closes [#932](#932)
* **core:** Intent to ship instance property ([#315](#315)) ([d20c68d](d20c68d)), closes [#308](#308)
* **data:** Intent to ship data.labels.centered ([cbe95b7](cbe95b7)), closes [#876](#876)
* **data:** Intent to ship data.labels.colors ([c10c946](c10c946)), closes [#871](#871)
* **data:** Intent to ship data.min()/max() ([e9f1417](e9f1417)), closes [#637](#637) [#638](#638)
* **data,Options:** Implement data.onmin/onmax callback ([6a88a74](6a88a74)), closes [#8](#8) [#125](#125)
* **data.type:** Intent to ship 'area-range' charts ([9fd9577](9fd9577)), closes [#277](#277) [#293](#293)
* **export:** Intent to ship export as an image ([9ad9956](9ad9956)), closes [#78](#78) [#213](#213)
* **gauge:** Enhance display multiline labels ([#516](#516)) ([3a1267e](3a1267e)), closes [#442](#442)
* **gauge:** Intent to ship stack data ([0d7fb3e](0d7fb3e)), closes [#580](#580)
* **grid:** Intent to ship grid.front option ([#385](#385)) ([58621a0](58621a0)), closes [#384](#384)
* **interaction:** Add new inputType.touch.preventDefault option ([baa7a7a](baa7a7a)), closes [#82](#82) [#88](#88)
* **legend:** Add argument to legend template ([2ecab0d](2ecab0d)), closes [#302](#302) [#322](#322)
* **legend:** Add shapes to legend ([a0b6542](a0b6542)), closes [#269](#269) [#289](#289)
* **legend:** Implement legend.contents ([26de147](26de147)), closes [#58](#58) [#134](#134)
* **line:** Ability to hide points for linecharts only ([3d217cc](3d217cc)), closes [#520](#520) [#521](#521)
* **option:** Intent to ship bar.padding option ([#370](#370)) ([6671e63](6671e63)), closes [#335](#335)
* **Options:** Add custom classname for bind element ([#212](#212)) ([22cee47](22cee47)), closes [#201](#201)
* **Options:** Implement color.tile option ([bec92dd](bec92dd)), closes [#193](#193) [#196](#196)
* **Options:** New tooltip onshow/onhidden and linked options ([c96d2dd](c96d2dd)), closes [#341](#341)
* **pie:** Enhance innerRadius option ([1668463](1668463)), closes [#856](#856)
* **pie:** Intent to ship pie's pdding and innerRadius options. ([b04ba3d](b04ba3d)), closes [#301](#301) [#304](#304)
* **plugin:** Add support for Stanford Diagrams ([a162cb7](a162cb7)), closes [#829](#829)
* **point:** Allow grouped custom point ([#565](#565)) ([ee12f96](ee12f96)), closes [#562](#562)
* **point:** Implement alternate markers ([8f1b56f](8f1b56f)), closes [#209](#209) [#219](#219)
* **point,bar:** Intent to ship sensitivity ([ebeb30f](ebeb30f)), closes [#831](#831)
* **radar:** Intent to ship multiline axis ([44198e1](44198e1)), closes [#904](#904)
* **radar:** Intent to ship radar type ([#453](#453)) ([7d0da65](7d0da65)), closes [#59](#59)
* **radar:** Intent to ship radar.direction.clockwise ([#543](#543)) ([f17fa7e](f17fa7e)), closes [#464](#464)
* **regions:** Intent to ship dasharray ([ca94580](ca94580)), closes [#491](#491) [#498](#498)
* **shape:** Intent to ship stack.normalize ([3af15a5](3af15a5)), closes [#623](#623) [#643](#643)
* **shape.line:** Add a line_classes option ([5781b5a](5781b5a)), closes [#181](#181)
* **shape.line:** Allow customization of points ([cc2ac8b](cc2ac8b)), closes [#173](#173) [#184](#184)
* **stats:** Intent to ship stats ([bc163b9](bc163b9)), closes [#928](#928)
* **text,Options:** Add new data.labels.position option ([51b09d7](51b09d7)), closes [#57](#57) [#99](#99)
* **theme:** Add new 'graph' theme ([014537a](014537a)), closes [#631](#631) [#647](#647)
* **theme:** Intent to ship css theme ([e113278](e113278)), closes [#241](#241) [#507](#507)
* **title:** Intent to ship multilined title ([#731](#731)) ([171df89](171df89)), closes [#612](#612) [#727](#727)
* **tooltip:** Implement tooltip.order ([db7d0f8](db7d0f8)), closes [#127](#127) [#131](#131)
* **tooltip:** Intent to ship linked tooltip with name ([ae263a1](ae263a1)), closes [#401](#401) [#402](#402)
* **tooltip:** Intent to ship tooltip.contents.template ([c1af5df](c1af5df)), closes [#813](#813)
* **tooltip:** Intent to ship tooltip.contents.text ([c16ab48](c16ab48)), closes [#826](#826)
* **tooltip:** Intent to ship tooltip.doNotHide ([81e2f09](81e2f09)), closes [#812](#812)
* **zoom:** Add option to zoom by dragging ([da2ce10](da2ce10)), closes [#416](#416) [#508](#508) [#513](#513)
@netil
Copy link
Member Author

netil commented Aug 27, 2020

Screenshot of each Themes

  • In order of
    default → insight → graph → datalab

Color patterns

image

Axis, Legend & Tooltip

image

Data Point & Grid

image

Pie

image

@msteller-connyun
Copy link

Btw... IE 11 is dead, after there’s now Edge for Win7.

So maybe it’s now time to support CSS Custom Properties ;)

netil added a commit to netil/billboard.js that referenced this issue Aug 27, 2020
netil added a commit that referenced this issue Aug 27, 2020
New 'datalab' theme.

Ref #241
netil pushed a commit that referenced this issue Sep 7, 2020
# [2.1.0-next.2](2.1.0-next.1...2.1.0-next.2) (2020-09-07)

### Bug Fixes

* upgrade d3-brush from 1.1.5 to 1.1.6 ([#1605](#1605)) ([624f044](624f044))
* **api:** prevent TypeError when chart already destroyed ([ce42768](ce42768)), closes [#1613](#1613)
* upgrade d3-ease from 1.0.6 to 1.0.7 ([#1617](#1617)) ([4f78533](4f78533))
* **bar:** Fix not firing data.onclick ([62e7a10](62e7a10)), closes [#1619](#1619) [#1620](#1620)
* **grid:** Fix grid text position update ([056b565](056b565)), closes [#1592](#1592)
* **legend:** Fix error for color.threshold option ([6e06629](6e06629)), closes [#1604](#1604) [#1611](#1611)
* **legend:** Make legend blurry after click ([319d608](319d608)), closes [#1599](#1599)
* **step:** Fix rendering nullish data ([dbe7b9b](dbe7b9b)), closes [#1637](#1637)
* **types:** Fix donut option types ([1917169](1917169)), closes [#1615](#1615)

### Features

* **interaction:** avoid multiple <rect> generation ([97df63a](97df63a)), closes [#1642](#1642)
* **theme:** Add new 'datalab' theme ([aba20d4](aba20d4)), closes [#241](#241)
netil pushed a commit that referenced this issue Sep 25, 2020
# [2.1.0](2.0.3...2.1.0) (2020-09-25)

### Bug Fixes

* **api:** prevent TypeError when chart already destroyed ([ce42768](ce42768)), closes [#1613](#1613)
* **axis:** fix y axis clip-path coordinates ([bdf7694](bdf7694)), closes [#1572](#1572)
* **bar:** Fix not firing data.onclick ([62e7a10](62e7a10)), closes [#1619](#1619) [#1620](#1620)
* **bar:** fix on bar tooglip grouped false ([4bd69be](4bd69be)), closes [/github.com//issues/1663#issuecomment-690991679](https://github.com//github.com/naver/billboard.js/issues/1663/issues/issuecomment-690991679)
* **grid:** Fix grid text position update ([056b565](056b565)), closes [#1592](#1592)
* **interaction:** bind touch event only for rect element ([12da3e4](12da3e4)), closes [#1650](#1650)
* upgrade d3-ease from 1.0.6 to 1.0.7 ([#1617](#1617)) ([4f78533](4f78533))
* **interaction:** correct draggable selection functionality ([160f873](160f873)), closes [#1642](#1642)
* upgrade d3-brush from 1.1.5 to 1.1.6 ([#1605](#1605)) ([624f044](624f044))
* **interaction:** fix for data point click on mobile ([727c26f](727c26f)), closes [#1651](#1651)
* **interaction:** fix retrieving event rect position ([6fc449e](6fc449e)), closes [#1670](#1670)
* **legend:** Fix error for color.threshold option ([6e06629](6e06629)), closes [#1604](#1604) [#1611](#1611)
* **legend:** Make legend blurry after click ([319d608](319d608)), closes [#1599](#1599)
* **shape:** fix possible condition removal by transpiler ([781fb61](781fb61)), closes [#1663](#1663)
* **step:** Fix rendering nullish data ([dbe7b9b](dbe7b9b)), closes [#1637](#1637)
* **types:** Fix donut option types ([1917169](1917169)), closes [#1615](#1615)
* **types:** Specify context for callbacks ([f3b9f26](f3b9f26)), closes [#1551](#1551)

### Features

* **area:** Intent to ship area.front ([fe315dc](fe315dc)), closes [#1543](#1543)
* **axis:** Improve log scale to handle 0 ([ca6cf62](ca6cf62)), closes [#1578](#1578)
* **axis:** Intent to ship axis.y2.type ([a94c25e](a94c25e)), closes [#1575](#1575)
* **interaction:** avoid multiple <rect> generation ([97df63a](97df63a)), closes [#1642](#1642)
* **plugin:** Add JS  Plugin class file ([4a20480](4a20480)), closes [#1665](#1665)
* **theme:** Add new 'datalab' theme ([aba20d4](aba20d4)), closes [#241](#241)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants